美文网首页
格式化时间用了YYYY-MM-dd,放假当天老板喊我回去改Bug

格式化时间用了YYYY-MM-dd,放假当天老板喊我回去改Bug

作者: 秃头小宝贝i | 来源:发表于2020-07-06 22:18 被阅读0次

    昨天听一同事讲到自己的项目中因为格式化时间用到了"YYYY-MM-dd",元旦当天被喊回去改Bug,到底是怎么回事哪?

    我们先看一下什么情况!

    可以看出上述的几个时间都出现了问题!连某大厂的手环也没逃过命运啊!

    问题复现:

    注意:JDK测试版本为1.7

    执行结果:

    可以看出来使用"YYYY-MM-DD"格式化时间出现了错误!

    具体是什么原因哪?

    这是因为Java语言中在特定的时间或者数字等数据上,平时你感觉一切都OK!但是在特定时间、特定环境就会出问题的情况!刚好格式化时间就算其中的一个!

    2020年跨年的时候刚好是2019和2020交换的时候,于是就出现了格式化时间的问题,归其原因就是使用了"YYYY-MM-dd"格式化时间!

    YYYY 是 week-based-year,现在就已经 2020 年了,yyyy 还是 2019 年!

    Java圣经表示:

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

    Java自己的BUG,还向圣经一样让人又记又背的! [笑cry]

    总结:

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

    开发中还是用yyyy-MM-dd来做日期格式化,其它的就不要用了!

    相关文章

      网友评论

          本文标题:格式化时间用了YYYY-MM-dd,放假当天老板喊我回去改Bug

          本文链接:https://www.haomeiwen.com/subject/bdknqktx.html