java使用SimpleDateFormat格式化日期YYYY跨年

最近遇到因为SimpleDateFormat格式化日期遇到年份yyyy与YYYY混淆引出的跨年问题,正好记录一下:
- 通常情况(12.25星期六):

在这里插入图片描述
运行结果(正常):
在这里插入图片描述

- 跨年问题(12.26星期天):

在这里插入图片描述
运行结果(跨年):
在这里插入图片描述

  • 结论:两者输出差了一年,并不符合我们的预期。因此在通常情况下,格式化日期尽量使用yyyy
  • 原因:之所以会出现错误是因为,在日期格式里,yyyy使我们通常所用的时间,而YYYY则是week year(当前周所包含的年份的较大值),所以会出现跨年。
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐