使用simpledateformat格式化时的日期无效

时间:2014-08-08 19:25:46

标签: java date datetime simpledateformat sqldatetime

我有一个日期字符串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 个答案:

答案 0 :(得分:3)

DD中的{p> SimpleDateFormat用于&#34;一年中的一天&#34;,您想要&#34;每月的一天&#34;,即dd。< / p>

还要注意YYYY适用于&#34;周年&#34;,这取决于日历可以追溯到&#34;年&#34;,其表示为yyyy。我想,无论如何你想要yyyy

答案 1 :(得分:2)

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

 SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy", Locale.US);
 Date date = format.parse(dateStr);
 System.out.println(format.format(date));

答案 2 :(得分: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");

答案 3 :(得分:0)

D中的{p> SimpleDateformat代表day in year,其中d代表day in month,因此请将DD替换为dd。< / p>

YYYY替换为yyyy