java日期格式化YYYY-MM-dd遇坑指南小結(jié)
前幾天寫日期格式化工具類,自己做測(cè)試的時(shí)候,無意中發(fā)現(xiàn)一個(gè)問題,如果把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,我看有些文章說,y是year,Y是week year
,比如:
注
開發(fā)中還是用yyyy-MM-dd來做日期格式化
,其它的就不要用了。
yyyy-MM-dd HH:mm:ss
年-月-日 時(shí):分:秒
大寫是為了區(qū)分“ 月”與“ 分”
順便說下HH為什么大寫,是為了區(qū)分 12小時(shí)制與 24小時(shí)制。小寫的h是12小時(shí)制,大寫的H是24小時(shí)制
。
有的時(shí)候我們會(huì)看到這樣的格式:yyyy-M-d H:m:s
mm與m等,它們的區(qū)別為 是否有前導(dǎo)零:H,m,s表示 非零開始,HH,mm,ss表示 從零開始。
比如凌晨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

SpringBoot上傳文件到本服務(wù)器 目錄與jar包同級(jí)問題

SpringBoot使用flyway初始化數(shù)據(jù)庫(kù)