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.temporalpacchetto. Ogni classe include il supporto per la stampa e l'analisi di tutti i tipi di date e orari. Fare riferimento aljava.time.formatpacchetto 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...
Instantclasse
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.