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(); 

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

  • Ormlite转义string的方法?
  • Android:如何在XML中将<string>元素注入到另一个<string>元素中?
  • 怎样才能最好地将StringBuilder转换为String ?
  • string数组中的随机元素
  • TextView.setText(Android)导致崩溃..任何想法为什么?
  • 如何使用OnItemClick从列表视图中检索单击的字符串?
  • 如何在Android中使用带有占位符的格式化string?
  • Androidstring资源中的XML?
  • 这里是一个简单的方法来将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));