Либо я упускаю что-то совершенно очевидное, либо делаю необоснованные предположения о поведении 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)));
распечатывает:
Пн 29 ноября 09:53:24 EST 2010
ср. 24 ноября 09:53:24 EST 2010
Как я теряю 5 дней?