tl; dr
java.time.LocalDateTime.parse(
"04/02/2011 20:27:05" ,
DateTimeFormatter.ofPattern( "dd/MM/uuuu HH:mm:ss" )
)
java.time
El enfoque moderno utiliza las clases java.time que suplantan al venerable Joda-Time proyecto .
Analice como LocalDateTime
su entrada carece de cualquier indicador de zona horaria o desplazamiento desde UTC.
String input = "04/02/2011 20:27:05" ;
DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd/MM/uuuu HH:mm:ss" ) ;
LocalDateTime ldt = LocalDateTime.parse( input , f ) ;
ldt.toString (): 2011-02-04T20: 27: 05
Consejo: Cuando sea posible, use los formatos estándar ISO 8601 al intercambiar valores de fecha y hora como texto en lugar del formato que se ve aquí. Convenientemente, las clases java.time usan los formatos estándar al analizar / generar cadenas.
Sobre 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?
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 .
java.time
paquete en Java 8, intente usarLocalDateTime.parse
oInstant.parse
.