完全に明らかな何かが欠けているか、SimpleDateFormat の動作について不当な仮定を行っているかのいずれかです。
私はそれが対称であるべきだと思いますよね?私が持っている場合
SimpleDateFormatter formatter;
String datestr=...
Date d = formatter.parse(datestr);
String s=formatter.format(d);
元の文字列を取り戻す必要があります。でも -
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)));
プリントアウト:
月曜日 11 月 29 日 09:53:24 EST 2010
水曜日 11 月 24 日 09:53:24 EST 2010
どうやって5日を失うのですか?