1、相信最近的log4j2的漏洞让大家神经紧张了一段时间后,终于迎来了周末,然而有没有被电话叫醒,说:"今年圣诞节你的订单的发货时间咋变成了2022年底了?"!!!! 什么鬼
2、直接show code ,看看下面的代码
3、打印结果:
果然是个隔年的圣诞礼物
4、原因分析:
Java's DateTimeFormatter pattern "YYYY" gives you the week-based-year, (by default, ISO-8601 standard) the year of the Thursday of that week.
大致意思是:YYYY是week-based-year,表示当天所在的周属于的年份,一周从周日开始,周六结束,只要本周跨年那么这周就算入下一个年份中。所以2021年12月26日在这种转换方式下就是2022年,订单发货时间就是明年底了,能忍受吗?
而当使用yyyy这种格式年份就是对的,2021。
你掉进去了吗?