tl; dr
O formato ISO 8601 padrão é usado pela sua sequência de entrada.
Instant.parse ( "2011-08-12T20:17:46.384Z" )
ISO 8601
Este formato é definido pela norma prática sensata ISO 8601 .
O T
separa a parte da data da parte da hora do dia. O Z
final significa UTC (ou seja, um deslocamento do UTC de zero horas-minutos-segundos). O Z
é pronunciado "Zulu" .
java.time
As antigas classes de data e hora incluídas nas versões mais antigas do Java provaram ser mal projetadas, confusas e problemáticas. Evite-os.
Em vez disso, use a estrutura java.time incorporada no Java 8 e posterior. As classes java.time substituem as classes antigas de data e hora e a biblioteca Joda-Time de grande sucesso.
As classes java.time usam o ISO 8601 por padrão ao analisar / gerar representações textuais de valores de data e hora.
A Instant
classe representa um momento na linha do tempo no UTC com uma resolução de nanossegundos . Essa classe pode analisar diretamente sua sequência de entrada sem se preocupar em definir um padrão de formatação.
Instant instant = Instant.parse ( "2011-08-12T20:17:46.384Z" ) ;
Sobre java.time
A estrutura java.time é integrada ao Java 8 e posterior. Essas classes suplantar os velhos problemáticos legados aulas de data e hora, como java.util.Date
, Calendar
, e SimpleDateFormat
.
O projeto Joda-Time , agora em modo de manutenção , aconselha a migração para as classes java.time .
Para saber mais, consulte o Tutorial do Oracle . E procure Stack Overflow para muitos exemplos e explicações. A especificação é JSR 310 .
Onde obter as classes java.time?
- Java SE 8 , Java SE 9 e posterior
- Construídas em.
- Parte da API Java padrão com uma implementação em pacote configurável.
- O Java 9 adiciona alguns recursos e correções menores.
- Java SE 6 e Java SE 7
- Grande parte da funcionalidade java.time é portada para Java 6 e 7 no ThreeTen-Backport .
- Android
- Versões posteriores das implementações de pacote configurável do Android das classes java.time.
- Para anteriormente Android, o ThreeTenABP projeto adapta ThreeTen-Backport (mencionados acima). Consulte Como usar o ThreeTenABP… .
O projeto ThreeTen-Extra estende o java.time com classes adicionais. Este projeto é um campo de prova para possíveis adições futuras ao java.time. Você pode encontrar algumas classes úteis aqui, como Interval
, YearWeek
, YearQuarter
, e mais .