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的时间。

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM