Simplemente estoy tratando de convertir una cadena de fecha en un objeto DateTime en Java 8. Al ejecutar las siguientes líneas:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
LocalDateTime dt = LocalDateTime.parse("20140218", formatter);
Obtuve el siguiente error:
Exception in thread "main" java.time.format.DateTimeParseException:
Text '20140218' could not be parsed:
Unable to obtain LocalDateTime from TemporalAccessor:
{},ISO resolved to 2014-02-18 of type java.time.format.Parsed
at java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:1918)
at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1853)
at java.time.LocalDateTime.parse(LocalDateTime.java:492)
La sintaxis es idéntica a la que se ha sugerido aquí , pero recibo una excepción. Estoy usando JDK-8u25
.
fuente
LocalDate
y noLocalDateTime
. ¡El problema era que había creado miDateTimeFormatter
uso.withResolverStyle(ResolverStyle.STRICT);
, así que tuve que usar el patrón de fecha enuuuuMMdd
lugar deyyyyMMdd
(es decir, "año" en lugar de "año de la era")!