Calendario gregoriano
-
28-09-2019 - |
Domanda
Ho dovuto affrontare uno strano problema con l'ora legale.Ho un programma Java programmato per essere eseguito tutti i giorni alle 00:05, ma ieri è stato eseguito alle 23:05.Sto usando il calendario gregoriano per programmare questo programma in Java.Non è mai stato eseguito prima delle 23:05, a meno che qualcuno non lo abbia eseguito manualmente.Qualcuno sa se si tratta di un problema con il calendario?
Soluzione
Questo problema è quasi certamente legata allo switch ora legale, anche se è strano che dovrebbe verificarsi intorno a mezzanotte dato che il passaggio all'ora legale avviene tipicamente a 2:00.
E 'difficile dire di più senza sapere che cosa il fuso orario l'apparecchio è impostato per e vedere il tuo codice vero e proprio.
Altri suggerimenti
Non è forse legato a questioni di risparmio giorno-luce? La notte precedente il tempo è stato cambiato da ora legale a ora solare in alcune parti del mondo.
Nel corso di un'ipotesi migliore, questo è in esecuzione su una versione precedente di Java, e impropriamente pensava che l'ora legale ha iniziato Domenica mattina negli Stati Uniti.
Internamente, negozi di Java il tempo come un offset GMT ... in particolare, il numero di millisecondi dal 1 gennaio 1970 00: 00: 00.000 GMT (documentato nel Calendar
descrizione della classe).
Se non si desidera aggiornare Java stesso, è comunque possibile utilizzare il Fuso orario Updater Strumento per aggiornare Java fusi orari installato sul sistema.
Nota: Questo è stato presumibilmente fissato in Java 5u6, a meno che non siete in uno degli altri fusi orari di cui al questa lista .
L'ora legale mondiale e l'ora legale nordamericana a volte sono incoerenti.
In Europa l'ora legale cambia l'ultima domenica di ottobre.http://en.wikipedia.org/wiki/Daylight_ Saving_time_around_the_world#Europe
Nel Nord America l'ora legale cambia la prima domenica di novembre.http://en.wikipedia.org/wiki/Daylight_ Saving_time_around_the_world#North_America
Modifica a causa dei commenti che forniscono informazioni più precise.
Credo, che correva alle 00:05, ma nel tempo (inverno) "nuova" era 23:05.