我正在尝试使用 LocalDate 解析以下字符串:“2015 年 8 月 4 日”。
在尝试了 DateTimeFormatters 的一些变体之后,我在 SO 中寻找答案并发现答案中给出的一些解析示例对我不起作用。经过进一步调查,我发现 java 14 无法解析包含字符串月份的日期,例如“Jul”、“Feb”……但在 java 8 和 10 中它完美无缺。
抛出的异常是:
java.time.format.DateTimeParseException:无法在索引 3 处解析文本“2015 年 8 月 4 日”
java 14 中的 LocalDate/DateTimeFormatter 是否有任何更改?我在文档中找不到任何内容。
这是在 java 8/10 上成功打印并在 java 14 上抛出 DateTimeParseException 的代码:
public static void main(String[] args) {
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd MMM yyyy");
String anotherDate = "04 Aug 2015";
LocalDate lds = LocalDate.parse(anotherDate, dtf);
System.out.println(anotherDate + " , " + lds);
}
Run Code Online (Sandbox Code Playgroud)