当我在设置为2017年1月1日的LocalDate上使用DateTimeFormatter(代码低于)时,我的结果是错误的年份值。
LocalDate.of(2017,1,1).toString
这将在
时正确显示2017-01-01LocalDate.of(2017,1,1).format(DateTimeFormatter.ofPattern("dd MMM YYYY"))
给我: 01 janv。 2016.你知道为什么会这样吗?
答案 0 :(得分:4)
你正在使用"错误"年。
Symbol Meaning Presentation Examples
------ ------- ------------ -------
y year-of-era year 2004; 04
Y week-based-year year 1996; 96
这基本上是使用本周的第一天来查看它在哪一年而不是实际的一天。
其中一个问题是这是本地依赖...
您应该使用DateTimeFormatter.ofPattern("dd MMM yyyy")
。