SimpleDateFormat-时间格式化中的大小写字符
一、SimpleDateFormat:
這個(gè)類是用來(lái)格式化date類型數(shù)據(jù)為指定格式的時(shí)間的
使用的而時(shí)候,總是區(qū)分不清 yyyy-mm-dd yyyy-MM-dd
而使用不同的大小寫(xiě)字符格式化出來(lái)的時(shí)間是不一樣的
常用格式:yyyy-MM-dd HH:mm:ss (年-月-日 時(shí):分:秒)
?
二、字符含義:有興趣可以查看SimpleDateFormat的源碼注釋,詳細(xì)有例
1、yy表示Year, Y表示W(wǎng)eek Year,計(jì)算方式不一樣,通常使用【y】
2、MM是為了和分鐘的m區(qū)分,Month in year
3、dd是Day in month,D是Day in year
4、HH是24小時(shí)制Hour in day,hh是12小時(shí)制Hour in am/pm
5、mm是分,Minute in hour
6、ss是秒Second in minute,S是Millisecond
7、aa是Am/pm marker
?
三、復(fù)串含義:
1、MM復(fù)串是位數(shù)不夠補(bǔ)足的,只寫(xiě)M的話,1月是不會(huì)顯示01月的
?
四、心法:
使用的時(shí)候知道了每個(gè)字符大小寫(xiě)代表的意義,就可以在使用的時(shí)候按位匹配,就知道時(shí)間格式的是否正確
?
五、大坑:時(shí)區(qū)設(shè)置問(wèn)題
SimpleDateFormat sdf = new SimpleDateFormat('yyyy-MM-dd HH:mm:ss',locale.CHINA);
看著完美無(wú)懈可擊,輸出會(huì)發(fā)現(xiàn),和你預(yù)想的時(shí)間完全不同,就是locale得設(shè)置問(wèn)題導(dǎo)致的
locale我的理解是設(shè)置的中英文,一般時(shí)間沒(méi)有中文設(shè)置為English即可
正確得姿勢(shì)如下:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); sdf.setTimeZone(TimeZone.getTimZone("GMT+8"));東八區(qū)!!!
轉(zhuǎn)載于:https://www.cnblogs.com/hackxiyu/p/9448897.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的SimpleDateFormat-时间格式化中的大小写字符的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: WPF 透明窗体
- 下一篇: 程序员应当学会“偷懒”