Estou simplesmente tentando converter uma string de data em um objeto DateTime em Java 8. Ao executar as seguintes linhas:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
LocalDateTime dt = LocalDateTime.parse("20140218", formatter);
Estou tendo o erro a seguir:
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)
A sintaxe é idêntica ao que foi sugerido aqui , mas sou atendido com uma exceção. Eu estou usando JDK-8u25
.
LocalDate
estava usando e nãoLocalDateTime
. O problema foi que eu criei meuDateTimeFormatter
uso.withResolverStyle(ResolverStyle.STRICT);
, então tive que usar o padrão de data emuuuuMMdd
vez deyyyyMMdd
(por exemplo, "ano" em vez de "ano da era")!