往期热门文章:程序员
一、《往期精选优秀博文都在这里了!》面试
昨天听一同事讲到本身的项目中由于格式化时间用到了"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 表示:当天所在的周属于的年份,一周从周日开始,周六结束,只要本周跨年,那么这周就算入下一年。
不论你是否也经历了这样的Bug,但愿看到这篇文章以后,对这个细节能够上点心,避免往后由于这个细节而犯错。
开发中仍是用yyyy-MM-dd来作日期格式化,其它的就不要用了!
往期热门文章:
一、Stack Overflow上188W+程序员都关注的问题:Java究竟是值传递仍是引用传递?