Java 8 ha una libreria completamente nuova per le date e gli orari nel pacchetto java.time, il che è molto gradito a chiunque abbia dovuto usare JodaTime prima o seccarsi nel creare i propri metodi di supporto per l'elaborazione delle date. Molte classi in questo pacchetto rappresentano timestamp e hanno metodi di supporto come getHour()
ottenere ore da timestamp, getMinute()
ottenere minuti da timestamp, getNano()
ottenere nanos da timestamp ecc ...
Ho notato che non hanno un metodo chiamato getMillis()
per ottenere i millesimi di time stamp. Invece si dovrebbe chiamare il metodo get(ChronoField.MILLI_OF_SECOND)
. A me sembra un'incoerenza nella biblioteca. Qualcuno sa perché manca un tale metodo, o poiché Java 8 è ancora in fase di sviluppo c'è la possibilità che verrà aggiunto in seguito?
https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html
Le classi qui definite rappresentano i principali concetti data-ora, inclusi istanti, durate, date, orari, fusi orari e periodi. Si basano sul sistema del calendario ISO, che è di fatto il calendario mondiale che segue le proletiche regole gregoriane. Tutte le classi sono immutabili e thread-safe.
Ogni istanza di data e ora è composta da campi resi disponibili dalle API. Per un accesso di livello inferiore ai campi fare riferimento al
java.time.temporal
pacchetto. Ogni classe include il supporto per la stampa e l'analisi di tutti i tipi di date e orari. Fare riferimento aljava.time.format
pacchetto per le opzioni di personalizzazione ...
Esempio di questo tipo di classe:
https://docs.oracle.com/javase/8/docs/api/java/time/LocalDateTime.html
Una data-ora senza fuso orario nel sistema di calendario ISO-8601, come 2007-12-03T10: 15: 30.
LocalDateTime
è un oggetto data-ora immutabile che rappresenta una data-ora, spesso vista come anno-mese-giorno-ora-minuto-secondo. È inoltre possibile accedere ad altri campi di data e ora, come il giorno dell'anno, il giorno della settimana e la settimana dell'anno. Il tempo è rappresentato dalla precisione dei nanosecondi. Ad esempio, il valore "2 ottobre 2007 alle 13: 45.30.123456789" può essere memorizzato in unLocalDateTime
...
Instant
classe
get()
, piuttosto che dare loro nomi individuali e univoci. Se ti dà fastidio, scrivi una classe che eredita la classe originale e inserisci il tuogetMillis()
metodo nella nuova classe.