package check;
import java.util.Calendar;
public class Test {
public static void main(String[] args) {
// length of a day
long DAY_MILLIS = 1000 * 60 * 60 * 24;
Calendar cal = Calendar.getInstance();
cal.set(1900, 0, 1, 0, 0, 0);
System.out.println(cal.getTime());
cal.setTimeInMillis(cal.getTimeInMillis() + DAY_MILLIS);
System.out.println(cal.getTime());
}
}
I to wynikiem jest:30 minut w obliczeniu daty Java w roku 1900 tylko
Mon Jan 01 00:00:00 KST 1900
Mon Jan 01 23:30:00 KST 1900 // Where is 30 minutes here?
Najbardziej zabawny i ważną wskazówką jest to, że ten problem występuje, gdy jest tylko 1900 roku.
może być związane z [tej kwestii] (http://stackoverflow.com/q/6841333/732016)? – wchargin
Zdecydowanie pokrewne. Ten sam podstawowy problem ... czas jest skomplikowany. –
Próbowałem tego i otrzymuję 'Wt Jan 02 00:00:00 EST 1900'.Coś związanego ze strefami czasowymi? –