我正在尝试创建一个LocalDate对象:
LocalDate date = LocalDate.parse(
"1. juli 2014",
DateTimeFormatter.ofPattern("d. LLLL YYYY", new Locale("nb", "NO"));
但我得到一个例外:
java.time.format.DateTimeParseException: Text '1. juli 2014' could not be parsed:
Unable to obtain LocalDate from TemporalAccessor:
{WeekBasedYear[WeekFields[MONDAY,4]]=2014, MonthOfYear=7, DayOfMonth=1},
ISO of type java.time.format.Parsed
at java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:1919)
at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1854)
at java.time.LocalDate.parse(LocalDate.java:400)
异常似乎表明正确的数据在那里(" juli"是挪威语,是7号月份)。
答案 0 :(得分:4)
所以,我找到了解决方案,即使是this probably is a Java 8 bug,正如@NimChimpsky所评论的那样。
使用"d. LLLL yyyy"
(与年代相比)而不是"d. LLLL YYYY"
(以周为基础的年份),解析按预期工作。