Android:date格式在一个string

我有一个问题来sortingdate,因为这些date的格式

我获得date:

final Calendar c = Calendar.getInstance(); mYear = c.get(Calendar.YEAR); mMonth = c.get(Calendar.MONTH); mDay = c.get(Calendar.DAY_OF_MONTH); 

我用这些值build立一个string

 dateRappDB = (new StringBuilder() .append(mYear).append(".") .append(mMonth + 1).append(".") .append(mDay).append(" ")).toString(); 

问题是,如果这个月是例如二月,那么mMonth的值就是2.所以像十月(10)这样的月份的date就在我的列表中。

我需要的是那个月和日是像MM和dd一样的。 但我不知道如何去做。

编辑

我通过使用如上所述的DateFormat解决了这个问题。

我replace了这个:

 dateRappDB = (new StringBuilder() .append(mYear).append(".") .append(mMonth + 1).append(".") .append(mDay).append(" ")).toString(); 

这样 :

 Date date = new Date(mYear - 1900, mMonth, mDay); dateFacDB = DateFormat.format("yyyy.MM.dd", date).toString(); 

它工作。 感谢大家的帮助:)

Related of "Android:date格式在一个string"

这里是一个简单的方法来将date转换为string:

SimpleDateFormat simpleDate = new SimpleDateFormat("dd/MM/yyyy");

String strDt = simpleDate.format(dt);

  Calendar calendar = Calendar.getInstance(); Date now = calendar.getTime(); String timestamp = simpleDateFormat.format(now); 

这些可能会派上用场

 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSSZZZZZ"); 

这个格式等于 – >“2016-01-01T09:30:00.000000 + 01:00”

 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZZZZZ"); 

这个格式等于 – >“2016-06-01T09:30:00 + 01:00”

你需要sortingdate,而不是string。 另外,你有没有听说过DateFormat ? 它使所有附加你。

如果我理解你的问题,你创build一个date列表,因为他们是string,他们会按照字典顺序排列,这意味着你在十二月之前(十月二十号之前)十月。

如果我是你,我会将结果存储在一个容器中,我控制插入点(如数组列表),或者我可以控制sortingalgorithm。

这里是date格式的例子

 SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy"); Date date = new Date(); System.out.println("format 1 " + sdf.format(date)); sdf.applyPattern("E MMM dd yyyy"); System.out.println("format 2 " + sdf.format(date));