YYYY-MM-dd和yyyy-MM-dd的区别 |
珠江路在线
2020年1月15日
【
转载
】龍之逆鳞 编辑:
|
|
日期显示:“2020-12-31”!
车友群里面立马有人不淡定了, 固然大家都猜出来,这应该是 APP 的 Bug,但还是 不免要吐槽一下, 探讨到最终,就快要“杀个程序员祭天了”!
那么产生这个 Bug 的缘由是什么呢?
其实很 容易,便是 把 yyyy-MM-dd 写成了 YYYY-MM-dd 。
假如对 工夫 解决不那么 相熟的程序员看到这里,会认为 yyyy 和 YYYY 有什么区别么?在代码里面敲一下,他们的 后果也都是 雷同的啊!
publicclassDateTest{publicstaticvoidmain(String[]args){Calendarcalendar=Calendar.getInstance();calendar.set(2019,Calendar.AUGUST,31);DatestrDate=calendar.getTime();DateFormatformatUpperCase=newSimpleDateFormat("yyyy-MM-dd");System.out.println("2019-08-31toyyyy-MM-dd:"+formatUpperCase.format(strDate));formatUpperCase=newSimpleDateFormat("YYYY-MM-dd");System.out.println("2019-08-31toYYYY/MM/dd:"+formatUpperCase.format(strDate));}}
运行 后果为:
2019-08-31toyyyy-MM-dd:2019-08-312019-08-31toYYYY/MM/dd:2019-08-31
然而假如我们把日期改成 2019-12-31 再试试呢? 后果产生了差别:
2019-12-31toyyyy-MM-dd:2019-12-312019-12-31toYYYY-MM-dd:2020-12-31
那么产生这个问题的缘由是什么呢?其实很 容易:Y 和 y 实际上代表了不同的 含意 。
这是开发过程中的一个小细节,一不小心就掉到坑里了 。