2017-02-01 3 views
2

folgenden Code nicht funktioniert:Wie "15. Dezember 2009" in ein Date mit Java8 Date API analysieren?

DateTimeFormatter.ofPattern("L dd, yyyy", Locale.US).parse("December 15, 2009"); 

wie es

java.time.format.DateTimeParseException: Text 'December 15, 2009' could not be parsed at index 0 

wirft Wie es funktioniert? Ist es überhaupt möglich mit Locale ?? (Ohne zusätzliche Karte zu verwenden, die String zu Monat Anzahl Karten

Antwort

4

Verwendung MMMM statt L:..

DateTimeFormatter.ofPattern("MMMM dd, yyyy", Locale.US).parse("December 15, 2009") 

Ich finde die javadoc es ein wenig verwirrend ich war auch diese ein als wie es DateTimeFormatter month pattern letter "L" fails duplizieren befasst sich hauptsächlich mit dem gleichen Problem.

+0

Seltsam, dass es fehlschlägt, da nach 'DateTimeFormatterBuilder' Quellen sowohl' M' als auch 'L' das gleiche' ChronoField.MONTH_OF_YEAR' bezeichnen. –