转载

昨天你用的 YYYY-MM-dd 被捶了吗?

点击上方蓝色“ 程序猿DD ”,选择“设为星标”

回复“ 资源 ”获取独家整理的学习资料!

作者 | zhuzhiqiang

来源 |   v2ex.com/t/633650

昨天在v站上看到这个关于YYYY-MM-dd的使用而出现Bug的问题。在时间、数字等数据上,存在很多类似这种平时一切OK,特定时间、特定环境出问题的情况是非常多的。只是很多时候,我们对于各种细节定义在开始的时候都不太注意,都是从每一次使用问题出现之后才开始有了“刻骨铭心”的认识。

不论昨天你是否也经历了这样的Bug,还是没有经历的读者,希望看到这篇文章之后,对这个细节可以上点心,避免日后因为这个细节而犯错。

下面就来一起看看这个问题的表现和原因吧:

BUG 的表现

昨天你用的 YYYY-MM-dd 被捶了吗?

BUG 的原因

YYYY 是  week-based-year ,今天就已经  2020 年了

yyyy 还是  2019

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

相关资源

  • https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#patterns

  • https://nakedsecurity.sophos.com/2019/12/23/serious-security-the-decade-ending-y2k-bug-that-wasnt/

本文通过OpenWrite的Markdown转换工具发布

关注我,回复“ 加群 加入各种主题讨论群

昨天你用的 YYYY-MM-dd 被捶了吗?

  • IntelliJ IDEA 快捷键终极大全 | 收藏

  • Spring Cloud 2020 年路线图

  • REST API 的安全基础

  • 一条简单的更新语句,MySQL是如何加锁的?

  • IntelliJ 平台 2020 年路线图

点击“ 阅读原文 免费 领取价值199元学习大礼包

原文  http://mp.weixin.qq.com/s?__biz=MzAxODcyNjEzNQ==&mid=2247489300&idx=2&sn=3e8cd7a47290c9a7a7ae85b6420ebf3f
正文到此结束
Loading...