以下代码不起作用:
DateTimeFormatter.ofPattern("L dd, yyyy", Locale.US).parse("December 15, 2009");
因为它抛出
java.time.format.DateTimeParseException: Text 'December 15, 2009' could not be parsed at index 0
如何让它发挥作用?甚至可以使用提供的Locale
?? (不使用将String
映射到月份编号的其他地图。
答案 0 :(得分:4)
使用MMMM
代替L
:
DateTimeFormatter.ofPattern("MMMM dd, yyyy", Locale.US).parse("December 15, 2009")
我发现那里的javadoc有点令人困惑。我还将此标记为DateTimeFormatter month pattern letter "L" fails的副本,因为它主要涉及相同的问题。