一尘不染

Y以SimpleDateFormat返回2019,而y返回2018

java

我想知道为什么’Y’返回2019,而’y’返回2018在SimpleDateFormat:

System.out.println(new SimpleDateFormat(“Y”).format(new Date())); // prints 2019
System.out.println(new SimpleDateFormat(“y”).format(new Date())); // prints 2018

谁能解释为什么?


阅读 383

收藏
2020-02-27

共1个答案

一尘不染

一周的一周与WEEK_OF_YEAR周期保持同步。第一个星期和最后一个星期(含)之间的所有星期都具有相同的星期年份值。因此,一周的第一天和最后一天可能具有不同的日历年值。

例如,1998年1月1日是星期四。如果getFirstDayOfWeek()为MONDAY,而getMinimalDaysInFirstWeek()为4(ISO 8601标准兼容设置),则1998年的第1周从1997年12月29日开始,到1998年1月4日结束。最后三天的年份是1998年但是,如果getFirstDayOfWeek()是SUNDAY,则1998年的第1周从1998年1月4日开始,到1998年1月10日结束。1998年的前三天是1997年第53周的一部分,而它们的年是1997年。

2020-02-27