Sono leap seconds soddisfatti dalla classe GregorianCalendar?I secondi bisestili sono soddisfatti dal calendario?
In caso contrario, una libreria di terze parti provvede a tale scopo?
Sono leap seconds soddisfatti dalla classe GregorianCalendar?I secondi bisestili sono soddisfatti dal calendario?
In caso contrario, una libreria di terze parti provvede a tale scopo?
java.util.Date API afferma che
" ... anche se la classe Date è intesa a riflettere Coordinated Universal Time (UTC), non può farlo esattamente, a seconda dell'ambiente host del Java Macchina virtuale ... La maggior parte degli orologi per computer non sono sufficientemente accurati per essere in grado di riflettere la distinzione del secondo. "
Wiki dice
"Perché la velocità di rotazione della Terra varia in risposta a eventi climatici e geologici, UTC salto secondi sono irregolarmente distanziati e imprevedibile. Inserimento di ogni secondo UTC salto di solito è deciso circa sei mesi di anticipo dalla Servizio internazionale di rotazione di terra e sistemi di riferimento (IERS) "
ovvero, nessuna classe può venire a conoscenza delle future decisioni IERS.
Un commento javadoc IMHO che distoglie la responsabilità da una classe mal implementata. Se aggiungo un secondo prima di un secondo intercalare, il tempo dovrebbe avanzare di 2 secondi, ma non credo che lo faccia. Inoltre, l'aritmetica delle date non ha nulla a che fare con il tempo corrente. – Bohemian
@Bohemian Sono d'accordo con te. E Oracle sa anche di questa scarsa implementazione, penso che sia la ragione per cui in java 8 avremo una nuova API Time/Date che supporta anche il salto di secondi (http://jcp.org/aboutJava/communityprocess/edr/jsr310/guide- 0.7.html) –
Vedere il mio aggiornamento su cosa dice il wiki –
System.currentTimeMillis()
si riferisce ufficialmente al timer del sistema operativo. E poiché tutto il sistema operativo che conosco, tra cui Microsoft, Linux e Apple, si basa solo sulle specifiche UNIX, questo timer di sistema java non conta secondi bisestili, solo i normali millisecondi dal 1970-01-01T00: 00: 00.000Z+1 per la prima risposta completa. Benvenuto nello stackoverflow e buona fortuna con il tuo progetto! – Bohemian
Danke! Lo sto usando nel nostro progetto ora, funziona come un incantesimo (ad esempio, riconosce correttamente che, ad esempio, '20150701_015960' era e' 20150701_025960' non lo era, una data valida in Europa/Berlino). La documentazione è davvero scarsa, però. – mirabilos
@mirabilos Bitte schön, su sparse doc, sono davvero grazioso per qualsiasi tipo di suggerimento, problemi, domande, richiesta di pull per una documentazione migliore e così via. Time4J ha così tante caratteristiche che non è sempre facile mantenere il doc allo stesso livello, ma faccio del mio meglio. –
Quale applicazione del mondo reale si vede per richiedere secondi bisestili? Inoltre, non sarebbe davvero difficile tenerne conto a causa della loro rara aggiunta? – Makoto
Mostra il modo di implementarlo: http://joda-time.sourceforge.net/faq.html#leapseconds – Azodious
Era più curiosità, ma poteva avere implicazioni per operazioni di tempo critico come il trading. I secondi di salto sono "ufficiali", quindi potrebbero essere aggiunti ai dati del fuso orario. – Bohemian