Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:字符串中的日期格式_Java_Android_String_Date_Format - Fatal编程技术网

Java Android:字符串中的日期格式

Java Android:字符串中的日期格式,java,android,string,date,format,Java,Android,String,Date,Format,由于这些日期的格式,我对日期排序有问题 我获得日期: final Calendar c = Calendar.getInstance(); mYear = c.get(Calendar.YEAR); mMonth = c.get(Calendar.MONTH); mDay = c.get(Calendar.DAY_OF_MONTH); 我用这些值构建了一个字符串 dateRappDB = (new StringBuilder() .append(mYear).ap

由于这些日期的格式,我对日期排序有问题

我获得日期:

final Calendar c = Calendar.getInstance();
    mYear = c.get(Calendar.YEAR);
    mMonth = c.get(Calendar.MONTH);
    mDay = c.get(Calendar.DAY_OF_MONTH);
我用这些值构建了一个字符串

dateRappDB = (new StringBuilder()
   .append(mYear).append(".")
   .append(mMonth + 1).append(".")
   .append(mDay).append(" ")).toString();
问题是,例如,如果月份是二月,则mm值为2。因此,在我的清单中,10月(10日)等月份的日期排在前面

我需要的是,月和日的格式类似于MM和dd。但我不知道如何在我的情况下这样做

编辑

我通过使用如上所述的日期格式解决了这个问题。

我替换了这个:

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();
它是有效的。
感谢大家的帮助:)

您需要排序日期,而不是字符串。还有,你听说了吗?如果我理解你的问题,你可以创建一个日期列表,因为它们是字符串,它们按字典顺序编号排列,这意味着你可以在2月前得到10月(2月前10月)


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

这里是日期格式的示例

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

以下是将日期转换为字符串的简单方法:

SimpleDateFormat simpleDate=新的SimpleDateFormat(“dd/MM/yyyy”)

String strDt=simpleDate.format(dt)

这些可能会派上用场

SimpleDateFormat simpleDateFormat = 
   new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSSZZZZZ");
此格式等于-->“2016-01-01T09:30:00.000000+01:00”


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

尝试以下方法:我支持此解决方案,除非出于某些未说明的原因,您确实需要使用这些字符串。。。但是ernazm一针见血:使用Android类:D
SimpleDateFormat simpleDateFormat = 
   new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSSZZZZZ");
SimpleDateFormat simpleDateFormat = 
   new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZZZZZ");