java在日期转换时,建议将YYYY格式改为使用yyyy格式

大多开发人员以为YYYY与yyyy的效果没什么区别。真实情况是存在区别的。

 

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

 

我们以正常的代码来演示重现使用YYYY会出现的bug

 

 

 

        SimpleDateFormat formatter1 = new SimpleDateFormat("YYYY");
            String dateString1 = formatter1.format(new Date(1577781426000L));//时间为2019-12-31 16:37:06
            System.out.println(dateString1);

            SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy");
            String dateString2 = formatter2.format(new Date(1577781426000L));//时间为2019-12-31 16:37:06
            System.out.println(dateString2);

 

所以如果使用YYYY转换时间格式的时候,平常使用不会出现问题,但是一到跨年就会出现这种问题,比如正常时间是2019-12-31 16:37:06使用YYYY转换会出现2020-12-31 16:37:06的时间。

虽然是小问题,但也是需要预防的。

posted @ 2020-01-11 16:48  程序猿中的小白  阅读(1098)  评论(0编辑  收藏  举报