java日期格式化YYYY-MM-dd遇坑指南小結
前幾天寫日期格式化工具類,自己做測試的時候,無意中發現一個問題,如果把format參數設置成YYYY-MM-DD,輸出的結果很奇怪。
Date result1 = string2Date("2016-12-15", "yyyy-MM-dd"); System.out.println(result1); Date result2 = string2Date("2016-12-15", "YYYY-MM-DD"); System.out.println(result2); Date date1 = new Date(); System.out.println(date2String(date1, "yyyy-MM-dd")); System.out.println(date2String(date1, "YYYY-MM-DD"));
結果:
Thu Dec 15 00:00:00 CST 2016
Sun Dec 27 00:00:00 CST 2015
2016-12-20
2016-12-355
第一種情況下,明明是2016年的日期,轉完格式變成瞭2015年。。。我去
試驗版本jdk1.7,我看有些文章說,y是year,Y是week year
,比如:
註
開發中還是用yyyy-MM-dd來做日期格式化
,其它的就不要用瞭。
yyyy-MM-dd HH:mm:ss
年-月-日 時:分:秒
大寫是為瞭區分“ 月”與“ 分”
順便說下HH為什麼大寫,是為瞭區分 12小時制與 24小時制。小寫的h是12小時制,大寫的H是24小時制
。
有的時候我們會看到這樣的格式:yyyy-M-d H:m:s
mm與m等,它們的區別為 是否有前導零:H,m,s表示 非零開始,HH,mm,ss表示 從零開始。
比如凌晨1點2分,HH:mm顯示為 01:02,H:m顯示為 1:2
。
到此這篇關於java日期格式化YYYY-MM-dd遇坑指南小結的文章就介紹到這瞭,更多相關java YYYY-MM-dd內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Java常用類之日期相關類使用詳解
- postgresql 實現得到時間對應周的周一案例
- Vue如何使用Dayjs計算常用日期詳解
- 一文掌握new Date() 方法
- 新手小白學JAVA 日期類Date SimpleDateFormat Calendar(入門)