Java時間格式化遇到的坑


Java時間格式化時YYYY(大寫)和yyyy(小寫)的有區別,其中y 是Year、Y 表示的是Week year;Week year意思是當天所在的周屬於的年份,一周從周日開始,周六結束,只要本周跨年,那么這周就算入下一年。2017-12-31是周日,剛好是2017最后一周並跨年,就取到2018年了;

1 public static void main(String[] args) throws ParseException {
2         SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
3         Date currentDate=df.parse("2017-12-31");
4         System.out.println("yyyy-MM-dd:"+DateFormatUtils.format(currentDate,"yyyy-MM-dd"));
5         System.out.println("YYYY-MM-dd:"+DateFormatUtils.format(currentDate,"YYYY-MM-dd"));
6     }

測試結果:
yyyy-MM-dd:2017-12-31
YYYY-MM-dd:2018-12-31

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM