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());
}
}
Ed è risultato è:30 minuti errore in Java calcolo della data in 1900 solo
Mon Jan 01 00:00:00 KST 1900
Mon Jan 01 23:30:00 KST 1900 // Where is 30 minutes here?
maggior parte divertente e indizio importante è che questo problema si verifica quando l'anno è solo 1.900.
possibilmente correlate al [questa domanda] (http://stackoverflow.com/q/6841333/732016)? – wchargin
Definitivamente correlati. Lo stesso problema di base ... il tempo è complicato. –
Ho provato questo e ottengo 'Tue Gen 02 00:00:00 EST 1900'.Qualcosa che ha a che fare con i fusi orari? –