Android:字符串中的日期格式

Her*_*rrM 17 java string format android date

由于这些日期的格式,我在排序日期时遇到问题.

我获得了日期:

final Calendar c = Calendar.getInstance();
    mYear = c.get(Calendar.YEAR);
    mMonth = c.get(Calendar.MONTH);
    mDay = c.get(Calendar.DAY_OF_MONTH);
Run Code Online (Sandbox Code Playgroud)

我用这些值构建一个String.

dateRappDB = (new StringBuilder()
   .append(mYear).append(".")
   .append(mMonth + 1).append(".")
   .append(mDay).append(" ")).toString();
Run Code Online (Sandbox Code Playgroud)

问题是,如果月份是例如2月,则mMonth值为2.因此,在我的列表中,有十月(10)之类的月份.

我需要的是像月和日那样形成像MM和dd.但我不知道如何在我的情况下这样做.

编辑:

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

我替换了这个:

dateRappDB = (new StringBuilder()
  .append(mYear).append(".")
  .append(mMonth + 1).append(".")
  .append(mDay).append(" ")).toString();
Run Code Online (Sandbox Code Playgroud)

这样 :

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

它有效.感谢大家的帮助:)

Vin*_*yak 24

这是将Date转换为String的简单方法:

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

String strDt = simpleDate.format(dt);


THZ*_*THZ 14

 Calendar calendar = Calendar.getInstance();
 Date now = calendar.getTime();   
 String timestamp = simpleDateFormat.format(now);
Run Code Online (Sandbox Code Playgroud)

这些可能会派上用场

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

此格式等于 - >"2016-01-01T09:30:00.000000 + 01:00"

SimpleDateFormat simpleDateFormat = 
   new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZZZZZ");
Run Code Online (Sandbox Code Playgroud)

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


Pra*_*tik 6

这是日期格式的示例

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));
Run Code Online (Sandbox Code Playgroud)


ern*_*azm 5

您需要对日期而不是字符串进行排序。另外,你听说过DateFormat吗?它为您添加了所有内容。