java日期格式化YYYY-MM-dd遇坑指南小結(jié)
前幾天寫(xiě)日期格式化工具類(lèi),自己做測(cè)試的時(shí)候,無(wú)意中發(fā)現(xiàn)一個(gè)問(wèn)題,如果把format參數(shù)設(shè)置成YYYY-MM-DD,輸出的結(jié)果很奇怪。
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"));
結(jié)果:
Thu Dec 15 00:00:00 CST 2016
Sun Dec 27 00:00:00 CST 2015
2016-12-20
2016-12-355
第一種情況下,明明是2016年的日期,轉(zhuǎn)完格式變成了2015年。。。我去
試驗(yàn)版本jdk1.7,我看有些文章說(shuō),y是year,Y是week year,比如:

注
開(kāi)發(fā)中還是用yyyy-MM-dd來(lái)做日期格式化,其它的就不要用了。
yyyy-MM-dd HH:mm:ss年-月-日 時(shí):分:秒
大寫(xiě)是為了區(qū)分“ 月”與“ 分”
順便說(shuō)下HH為什么大寫(xiě),是為了區(qū)分 12小時(shí)制與 24小時(shí)制。小寫(xiě)的h是12小時(shí)制,大寫(xiě)的H是24小時(shí)制。
有的時(shí)候我們會(huì)看到這樣的格式:yyyy-M-d H:m:s
mm與m等,它們的區(qū)別為 是否有前導(dǎo)零:H,m,s表示 非零開(kāi)始,HH,mm,ss表示 從零開(kāi)始。
比如凌晨1點(diǎn)2分,HH:mm顯示為 01:02,H:m顯示為 1:2。
到此這篇關(guān)于java日期格式化YYYY-MM-dd遇坑指南小結(jié)的文章就介紹到這了,更多相關(guān)java YYYY-MM-dd內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
KafkaListener注解的實(shí)現(xiàn)機(jī)制源碼解析
Java 照片對(duì)比功能的實(shí)現(xiàn)
httpclient 請(qǐng)求http數(shù)據(jù),json轉(zhuǎn)map的實(shí)例
Java?C++題解leetcode902最大為N的數(shù)字組合數(shù)位DP
基于Java編寫(xiě)emoji表情處理工具類(lèi)
SpringBoot上傳文件到本服務(wù)器 目錄與jar包同級(jí)問(wèn)題
Java中浮點(diǎn)數(shù)精度問(wèn)題的解決方法
SpringBoot使用flyway初始化數(shù)據(jù)庫(kù)

