Java 在1月1日使用DateTimeFormatter会导致年份值无效

Java 在1月1日使用DateTimeFormatter会导致年份值无效,java,Java,当我在设置为2017年1月1日的LocalDate上使用DateTimeFormatter(下面的代码)时,我以错误的年份值结束 LocalDate.of(2017,1,1).toString 这将正确显示2017-01-01,同时 LocalDate.of(2017,1,1).format(DateTimeFormatter.ofPattern("dd MMM YYYY")) 他给了我: 01 janv。2016你知道为什么会发生这种情况吗?你使用的年份是“错误的” 资料来源: 这基本上是

当我在设置为2017年1月1日的LocalDate上使用DateTimeFormatter(下面的代码)时,我以错误的年份值结束

LocalDate.of(2017,1,1).toString
这将正确显示2017-01-01,同时

LocalDate.of(2017,1,1).format(DateTimeFormatter.ofPattern("dd MMM YYYY"))
他给了我: 01 janv。2016你知道为什么会发生这种情况吗?

你使用的年份是“错误的”

资料来源:

这基本上是使用当前周的第一天来查看它是在哪一年,而不是实际的一天

其中一个问题是,这是当地的家属

您应该使用了DateTimeFormatter.of模式(“dd-MMM-yyyy”)您使用的年份是“错误的”

资料来源:

这基本上是使用当前周的第一天来查看它是在哪一年,而不是实际的一天

其中一个问题是,这是当地的家属


您应该使用模式的
DateTimeFormatter.of(“dd-MMM-yyyy”)

使用
y
而不是
y
。这是以周为基础的一年。看见我猜@Robby使用不同的地方(星期天是一周的第一天)谢谢@AxelH,就这样!使用
y
而不是
y
。这是以周为基础的一年。看见我猜@Robby使用不同的地方(星期天是一周的第一天)谢谢@AxelH,就这样!
 Symbol  Meaning            Presentation    Examples  
 ------  -------            ------------    -------  
 y       year-of-era        year            2004; 04  
 Y       week-based-year    year            1996; 96