J'essaie simplement de convertir une chaîne de date en un objet DateTime dans Java 8. En exécutant les lignes suivantes:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
LocalDateTime dt = LocalDateTime.parse("20140218", formatter);
J'obtiens l'erreur suivante:
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 syntaxe est identique à ce qui a été suggéré ici , mais je suis servi avec une exception. J'utilise JDK-8u25
.
LocalDate
et nonLocalDateTime
. Le problème était que j'avais créé monDateTimeFormatter
utilisation.withResolverStyle(ResolverStyle.STRICT);
, donc j'ai dû utiliser le modèle de dateuuuuMMdd
au lieu deyyyyMMdd
(c'est-à-dire "année" au lieu de "année de l'ère")!