当前位置: 首页 > 后端技术 > Java

一场“YYYY-MM-dd”的悲剧,.元旦前要提高警惕~

时间:2023-04-01 17:21:31 Java

来源:https://blog.csdn.net/weixin_...1.前言元旦放假的时候,刚打算出去玩几天,但是什么时候使用一些app,居然发现了一个bug,应该是前端粗心导致的。我是2019.12.30开始的,app上显示的结果是2020.12.30(吓得我以为我的订单错了,我要不要把程序放在这里?元拉去祭天了)。鉴于有些程序员可能会被拖去拜天,而我之前在学习Java的时候也关注过这个问题,所以把这个问题拿出来说说,希望能避免在这方面出现粗心尽可能多(毕竟这个问题也很难检测)。2、先看text的情况publicclassDateTest{publicstaticvoidmain(String[]args){Calendarcalendar=Calendar.getInstance();calendar.set(2019,Calendar.AUGUST,31);日期strDate=日历。获取时间();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-12-312019-12-31toYYYY-MM-dd:2020-12-31问题出现了,正确的?各位读者别傻了,赶紧查文档:y:year-of-era;严肃的一年,即元旦之后;Y:基于周的年;只要这周是除夕,那么这周就会算作下一个比如今年(2019-2020)12.31这一周是除夕那一周,12.31是星期二,那么如果用YYYY,会显示2020,如果用yyyy,从1.1开始算2020年。虽然这是一个很小的知识点,但是很多人都掉坑里了。学习后可以记录下来,觉得不错的可以点个赞关注一下。在此祝大家码字的时候多多帮忙,永远不会有bug~近期热点文章推荐:1.1000+Java面试题及答案(2022最新版)2.最棒的!Java协程来了。..3.SpringBoot2.x教程,太全面了!4、SpringBoot2.6正式发布,一大波新特性。.5.《Java开发手册(嵩山版)》最新发布,赶快下载吧!感觉不错,别忘了点赞+转发!

最新推荐
猜你喜欢