日期格式化使用 YYYY-MM-dd 的人, 你被打了吗?

本贴最后更新于 1568 天前,其中的信息可能已经物是人非

昨天在掘金上看到这个关于 YYYY-MM-dd 的使用而出现 Bug 的帖子,非常有意思,所以拿过来分享一下

在任何编程语言中,对于时间、数字等数据上,都存在很多类似这种平时一切 OK,特定时间、特定环境出问题的情况。出现这种问题的根本原因还是我们对于各种数据结构的细节定义在开始的时候都不太注意,都是从每一次使用问题出现之后才开始有了“刻骨铭心”的认识。

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

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

问题表现

image.png

BUG 的原因

YYYYweek-based-year,表示:当天所在的周属于的年份,一周从周日开始,周六结束,只要本周跨年,那么这周就算入下一年。所以 2019 年 12 月 31 日那天在这种表述方式下就已经 2020 年了。

而当使用 yyyy 的时候,就还是 2019 年。

相关说明

  • 一些有用的避坑指南。

    69 引用 • 93 回帖
  • 日期
    4 引用 • 4 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...