[轉]日期格式化(yyyy-MM-dd)中,為什么 M 多大寫?


最近犯了個可傻逼的錯誤,格式化年月日的時候不小心將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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM