tl; dr
El formato estándar ISO 8601 es utilizado por su cadena de entrada.
Instant.parse ( "2011-08-12T20:17:46.384Z" )
ISO 8601
Este formato está definido por el estándar práctico sensible, ISO 8601 .
El T
separa la parte de fecha desde la porción de tiempo de días. El Z
final significa UTC (es decir, un desplazamiento desde UTC de cero horas-minutos-segundos). El Z
se pronuncia "Zulu" .
java.time
Las antiguas clases de fecha y hora incluidas con las primeras versiones de Java han demostrado ser deficientemente diseñadas, confusas y problemáticas. Evítales.
En su lugar, use java.time marco integrado en Java 8 y posteriores. Las clases java.time suplantan tanto a las antiguas clases de fecha y hora como a la exitosa biblioteca Joda-Time.
Las clases java.time usan ISO 8601 de manera predeterminada al analizar / generar representaciones textuales de valores de fecha y hora.
La Instant
clase representa un momento en la línea de tiempo en UTC con una resolución de nanosegundos . Esa clase puede analizar directamente su cadena de entrada sin molestarse en definir un patrón de formato.
Instant instant = Instant.parse ( "2011-08-12T20:17:46.384Z" ) ;
Acerca de java.time
El marco java.time está integrado en Java 8 y versiones posteriores. Estas clases suplantar la vieja problemáticos heredados clases de fecha y hora como java.util.Date
, Calendar
, y SimpleDateFormat
.
El proyecto Joda-Time , ahora en modo de mantenimiento , aconseja la migración a las clases java.time .
Para obtener más información, consulte el Tutorial de Oracle . Y busque Stack Overflow para obtener muchos ejemplos y explicaciones. La especificación es JSR 310 .
¿Dónde obtener las clases java.time?
- Java SE 8 , Java SE 9 y posterior
- Incorporado.
- Parte de la API Java estándar con una implementación integrada.
- Java 9 agrega algunas características menores y correcciones.
- Java SE 6 y Java SE 7
- Gran parte de la funcionalidad java.time se transfiere a Java 6 y 7 en ThreeTen-Backport .
- Androide
- Versiones posteriores de las implementaciones de paquetes de Android de las clases java.time.
- Para principios de Android, el ThreeTenABP proyecto se adapta ThreeTen-Backport (mencionado anteriormente). Ver Cómo utilizar ThreeTenABP ... .
El proyecto ThreeTen-Extra extiende java.time con clases adicionales. Este proyecto es un campo de pruebas para posibles adiciones futuras a java.time. Usted puede encontrar algunas clases útiles aquí, como Interval
, YearWeek
, YearQuarter
, y más .