用于日期格式的javaLocalDate中的错误

我正在运行一些代码,遇到了一个我无法理解的奇怪错误。所以我尝试调试它并运行多个测试,发现这是我正在运行的代码

@Test
public void test(){

    LocalDate firstDay = LocalDate.parse("2020-12-01");
    LocalDate lastDay = LocalDate.parse("2020-12-31");

    String firstDayString = firstDay.format(DateTimeFormatter.ofPattern("YYYYMMdd"));
    String lastDayString = lastDay.format(DateTimeFormatter.ofPattern("YYYYMMdd"));

    System.out.println(firstDayString);
    System.out.println(lastDayString);

}

这是输出

20201201
20211231

请注意,当我尝试执行此格式时,最后日期的年份已更改为 2021 年。有没有其他人注意到这一点?

回答

如果您预计两个日期均为 2020 年,则您的格式不正确。将其更改为yyyyMMdd

  • y(小写)是年份
  • Y(大写)是“基于周的年”

值得一读:yyyy-vs-yyyy-the-day-the-java-date-formatter-hurt-my-brain


以上是用于日期格式的javaLocalDate中的错误的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>