在 Java 中,SimpleDateFormat
类用来把日期转换成字符串。这里有一个容易让人混淆的地方,就是yyyy
和YYYY
这两个格式。
-
yyyy
:这个表示的是普通的年份,比如 2023 年。 -
YYYY
:这个表示的是基于周的年份,它按照国际标准 ISO 8601 来计算年份。这个标准把一年分为 52 或 53 周,每周从星期一开始,到星期日结束。所以,如果一个日期在 ISO 周的最后一天,即使它还在 12 月,YYYY
可能会显示为下一年的年份。
简单来说,如果你在格式化日期时不小心用了YYYY
而不是yyyy
,那么在某些情况下,比如在新一年的第一周,日期的年份可能会显示错误。为了避免这种错误,最好总是使用小写的yyyy
来表示年份。