无法将字符串解析为LocalDate(Java 8)

15 浏览
0 Comments

无法将字符串解析为LocalDate(Java 8)

我的输入是一个表示日期的字符串,格式为"01-07-2015",表示2015年7月1日。我试图将其解析为一个java.time.LocalDate变量:

final DateTimeFormatter DATE_FORMAT = DateTimeFormatter.ofPattern("dd-MM-YYYY");
final String input = "01-07-2015";
final LocalDate localDate = LocalDate.parse(input, DATE_FORMAT);

根据DateTimeFormatter的JavaDoc,我期望这个代码能够正常工作。然而,我收到了一个非常友好和有用的消息:

Caused by: java.time.DateTimeException: Unable to obtain LocalDate from TemporalAccessor: {DayOfMonth=1, MonthOfYear=7, WeekBasedYear[WeekFields[MONDAY,4]]=2015},ISO of type java.time.format.Parsed

我实际上不理解这个异常在告诉我什么。有人可以解释一下出了什么问题吗?

0