Wenn ein Monat in UPPER oder in Kleinbuchstaben ist, d. H. Nicht im Titel, kann DateTimeFormatter das Datum nicht analysieren. Gibt es eine einfache Möglichkeit, ein Datum in einen Titel umzuwandeln oder den Formatierer etwas milder zu machen?Wie behandelt man Groß- oder Kleinschreibung in JSR 310?
for (String date : "15-JAN-12, 15-Jan-12, 15-jan-12, 15-01-12".split(", ")) {
try {
System.out.println(date + " => " + LocalDate.parse(date,
DateTimeFormatter.ofPattern("yy-MMM-dd")));
} catch (Exception e) {
System.out.println(date + " => " + e);
}
}
druckt
15-JAN-12 => java.time.format.DateTimeParseException: Text '15-JAN-12' could not be parsed at index 3
15-Jan-12 => 2015-01-12
15-01-12 => java.time.format.DateTimeParseException: Text '15-01-12' could not be parsed at index 3
15-jan-12 => java.time.format.DateTimeParseException: Text '15-jan-12' could not be parsed at index 3
@hraldK Wenn '.parseLenient()' nicht gesetzt ist, schlägt das Format "15-01-12" fehl. – SubOptimal