SimpleDateFormat-時間格式化中的大小寫字符

1、SimpleDateFormat:

  這個類是用來格式化date類型數據爲指定格式的時間的spa

  使用的而時候,老是區分不清 yyyy-mm-dd yyyy-MM-dd
code

  而使用不一樣的大小寫字符格式化出來的時間是不同的orm

  經常使用格式:yyyy-MM-dd HH:mm:ss (年-月-日 時:分:秒)blog

 

2、字符含義:有興趣能夠查看SimpleDateFormat的源碼註釋,詳細有例

  一、yy表示Year, Y表示Week Year,計算方式不同,一般使用【y】get

  二、MM是爲了和分鐘的m區分,Month in year源碼

  三、dd是Day in month,D是Day in year
class

  四、HH是24小時制Hour in day,hh是12小時制Hour in am/pmdate

  五、mm是分,Minute in hourim

  六、ss是秒Second in minute,S是Millisecond數據

  七、aa是Am/pm marker

 

3、復串含義:

  一、MM復串是位數不夠補足的,只寫M的話,1月是不會顯示01月的

 

4、心法:

  使用的時候知道了每一個字符大小寫表明的意義,就能夠在使用的時候按位匹配,就知道時間格式的是否正確

 

5、大坑:時區設置問題

  SimpleDateFormat sdf = new SimpleDateFormat('yyyy-MM-dd HH:mm:ss',locale.CHINA);

  看着完美無懈可擊,輸出會發現,和你預想的時間徹底不一樣,就是locale得設置問題致使的

  locale個人理解是設置的中英文,通常時間沒有中文設置爲English便可

  正確得姿式以下:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimZone("GMT+8"));

  東八區!!!

相關文章
相關標籤/搜索