0

我有一个日期字符串Mon Feb 8 00:00:00 UTC+0530 1954。我想把它转换成格式DD/MM/YYYY。输出总是08/38/1954 or 09/39/1954.

我使用了以下代码。

SimpleDateFormat format = new SimpleDateFormat("MM/DD/YYYY", Locale.US);
System.out.println(format.format(new Date(dateStr)));
4

4 回答 4

3

DDinSimpleDateFormat是“一年中的一天”,你想要“一个月中的一天”,即dd.

还要注意的YYYY是“周年”,它取决于日历回落到“年”,表示为yyyy. 我想,yyyy无论如何你都想要。

于 2014-08-08T19:32:20.967 回答
2

您需要使用 parse() 方法从字符串日期转到定义的 SimpleDateFormat。

 SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy", Locale.US);
 Date date = format.parse(dateStr);
 System.out.println(format.format(date));
于 2014-08-08T19:33:22.837 回答
2

试试这个:

SimpleDateFormat frmt = new SimpleDateFormat("E MMM d HH:mm:ss zZ yyyy", Locale.US);
Date dateStr = frmt.parse("Mon Feb 8 00:00:00 UTC+0530 1954");
于 2014-08-08T19:56:05.077 回答
0

DinSimpleDateformat代表day in yearwhere asd代表day in monthso 替换DDdd.

类似地替换YYYYyyyy

于 2014-08-08T19:36:06.740 回答