最近犯了個可傻逼的錯誤,格式化年月日的時候不當心將yyyy-MM-dd寫成YYYY-MM-dd,致使格式化結果中年不正確。
看看知乎上的說法
問題:
http://www.zhihu.com/question/23730083
其中一個回答:
著做權歸做者全部。
商業轉載請聯繫做者得到受權,非商業轉載請註明出處。
做者:馬小明
連接:http://www.zhihu.com/question/23730083/answer/25475256
來源:知乎
yyyy-MM-dd HH:mm:ss
年-月-日 時:分:秒
大寫是爲了區分「
月」與「
分」
順便說下HH爲何大寫,是爲了區分
12小時制與
24小時制。
小寫的h是12小時制,大寫的H是24小時制。
書寫格式和語言規定有關,上述寫法是Windows系統中的咱們常見的寫法,包括日期設置於辦公軟件在內。在其餘語言中有相似的但使用符號或格式不一樣的寫法。
有的時候咱們會看到這樣的格式:yyyy-M-d H:m:s
mm與m等,它們的區別爲
是否有前導零:H,m,s表示
非零開始,HH,mm,ss表示
從零開始。
好比凌晨1點2分,HH:mm顯示爲
01:02,H:m顯示爲
1:2。
以2014年1月1日凌晨1點1分1秒(當天是星期三)爲例子介紹一下其餘的:
yyyy/yyy/yy/y 顯示爲
2014/2014/14/4
(3個y與4個y是同樣的,爲了便於理解多寫成4個y)
MMMM/MMM/MM/M 顯示爲
一月/一月/01/1
(4個M顯示全稱,3個M顯示縮寫,不過中文顯示是同樣的,英文就是January和Jan)
dddd/ddd/dd/d 顯示爲
星期三/週三(有的語言顯示爲「三」)
/01/1
(在英文中同M同樣,4個d是全稱,3個是簡稱;
dddd/ddd表示星期幾,dd/d表示幾號)
HH/H/hh/h 顯示爲
01/1/01 AM/1 AM
剩下的
mm/m/ss/s只是前導零的問題了。 yyyy/M/d/dddd H:mm:ss 就是 2014年1月1日星期三 1:01:01