tl; dr
Il formato standard ISO 8601 viene utilizzato dalla stringa di input.
Instant.parse ( "2011-08-12T20:17:46.384Z" )
ISO 8601
Questo formato è definito dallo standard pratico sensibile, ISO 8601 .
La T
separa la parte di data dalla parte ora del giorno. L' Z
estremità indica UTC (ovvero un offset-da-UTC di zero ore-minuti-secondi). Lo Z
si pronuncia "Zulu" .
java.time
Le vecchie classi di data e ora in bundle con le prime versioni di Java si sono dimostrate mal progettate, confuse e problematiche. Evitali.
Invece, usa il framework java.time incorporato in Java 8 e versioni successive. Le classi java.time soppiantano sia le vecchie classi data-ora che la libreria Joda-Time di grande successo.
Le classi java.time utilizzano ISO 8601 per impostazione predefinita quando analizzano / generano rappresentazioni testuali di valori data-ora.
La Instant
classe rappresenta un momento sulla linea temporale in UTC con una risoluzione di nanosecondi . Quella classe può analizzare direttamente la stringa di input senza preoccuparsi di definire un modello di formattazione.
Instant instant = Instant.parse ( "2011-08-12T20:17:46.384Z" ) ;
Informazioni su java.time
Il framework java.time è integrato in Java 8 e versioni successive. Queste classi soppiantare la vecchia fastidiosi legacy classi data-time come java.util.Date
, Calendar
, e SimpleDateFormat
.
Il progetto Joda-Time , ora in modalità manutenzione , consiglia la migrazione alle classi java.time .
Per saperne di più, consulta il tutorial Oracle . E cerca Stack Overflow per molti esempi e spiegazioni. La specifica è JSR 310 .
Dove ottenere le classi java.time?
- Java SE 8 , Java SE 9 e versioni successive
- Built-in.
- Parte dell'API Java standard con un'implementazione in bundle.
- Java 9 aggiunge alcune funzionalità e correzioni minori.
- Java SE 6 e Java SE 7
- Gran parte della funzionalità java.time è trasferita su Java 6 e 7 in ThreeTen-Backport .
- androide
- Versioni successive di implementazioni di bundle Android delle classi java.time.
- Per precedenza Android, il ThreeTenABP progetto si adatta ThreeTen-Backport (di cui sopra). Vedi Come usare ThreeTenABP… .
Il progetto ThreeTen-Extra estende java.time con classi aggiuntive. Questo progetto è un banco di prova per possibili aggiunte future a java.time. Si possono trovare alcune classi utili, come per esempio Interval
, YearWeek
, YearQuarter
e altro .