我想解析为
LocalDate
我收到的日期,格式如下,但带有德国月份:
我简化了应该解析这些格式化日期的代码(月份是德语),但它仍然无法在 jdk 11.0.7 和 openjdk 11.0.13 上工作
public static void main(String args[]) {
String txt = "15-Aug-2023";
DateTimeFormatter format = new DateTimeFormatterBuilder()
.appendPattern("dd-MMM-yyyy")
.toFormatter(Locale.GERMAN);
LocalDate.parse(txt, format);
}
抛出异常:
线程“main”中的异常java.time.format.DateTimeParseException: 无法在索引 3 处解析文本“15-Aug-2023”
我错过了什么?
PS 刚刚注意到,如果我这样做:
System.out.println(format.format(LocalDate.now()));
我得到:
2023 年 10 月 24 日
如何克服这个意想不到的问题?
这对我来说:
public class Main {
public static void main(String[] args) {
String txt = "15-Aug-2023";
DateTimeFormatter format = new DateTimeFormatterBuilder()
.appendPattern("dd-LLL-yyyy")
.toFormatter(Locale.GERMAN);
System.out.println(LocalDate.parse(txt, format));
}
}
打印时间:2023-08-15
https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html