程序员跨年避坑:YYYY 与 yyyy 的区别

不知是否有程序员知道或遇到过下面这个问题。

如果已经发现生产系统出现了,那这个元旦还真的开心不起来呢!

1577933925086

这个问题的主要原因是在 Java 中 YYYY 代表:Week year。

1577934859652

Week year 表示:当天所在周所属的年份,一周从周日开始,周六结束,只要本周跨年,那么这周就算入下一年。

因为日期 2019-12-31 所在的这周跨年了,所以即使 2019-12-31 属于 2019 年,但使用 YYYY 得到的却是 2020 年。