標籤:
最近犯了個可傻逼的錯誤,格式化年月日的時候不小心將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
[轉]日期格式化(yyyy-MM-dd)中,為什麼 M 多大寫?