Ich versuche einfach, eine Datumszeichenfolge in ein DateTime-Objekt in Java 8 zu konvertieren. Beim Ausführen der folgenden Zeilen:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
LocalDateTime dt = LocalDateTime.parse("20140218", formatter);
Ich erhalte folgende Fehlermeldung:
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)
Die Syntax ist identisch mit dem, was hier vorgeschlagen wurde , aber ich werde mit einer Ausnahme bedient. Ich benutze JDK-8u25
.
LocalDate
und nichtLocalDateTime
. Das Problem war, dass ich meineDateTimeFormatter
Verwendung erstellt hatte.withResolverStyle(ResolverStyle.STRICT);
, also musste ich DatumsmusteruuuuMMdd
anstelle vonyyyyMMdd
(dh "Jahr" anstelle von "Jahr der Ära") verwenden!