java日期格式化程序中的行为不一致

时间:2010-11-29 21:48:58

标签: java simpledateformat

要么我缺少一些完全明显的东西,要么对SimpleDateFormat的行为做出无根据的假设。

我认为它应该是对称的,对吧?如果我有

SimpleDateFormatter formatter;
String datestr=...
Date d = formatter.parse(datestr);
String s=formatter.format(d);

我应该找回原来的String。但是 -

public static final String DATE_FORMAT = "E MMM dd HH:mm:dd zz yyyy";
String test = "Mon Nov 29 09:53:24 EST 2010";
long l = new SimpleDateFormat(DATE_FORMAT).parse(test).getTime();
System.out.println(test);
System.out.println(new SimpleDateFormat(DATE_FORMAT).format(new Date(l)));

打印出来:

Mon Nov 29 09:53:24 EST 2010

11月24日星期三09:53:24美国东部时间

我如何失去5天?

1 个答案:

答案 0 :(得分:6)

"E MMM dd HH:mm:dd zz yyyy";
       ^^       ^^