java LocalDate 中日期格式的错误
Bug in java LocalDate for Date Format
我正在 运行 一些代码,但遇到了一个我无法理解的 st运行ge 错误。
所以我尝试调试它并 运行 多次测试并发现了这个
这是我的代码 运行
@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(大写)是 'week-based-year'
值得一读:yyyy-vs-yyyy-the-day-the-java-date-formatter-hurt-my-brain
我正在 运行 一些代码,但遇到了一个我无法理解的 st运行ge 错误。 所以我尝试调试它并 运行 多次测试并发现了这个 这是我的代码 运行
@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(大写)是 'week-based-year'
值得一读:yyyy-vs-yyyy-the-day-the-java-date-formatter-hurt-my-brain