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

yyyy-MM-dd"T"HH:mm:ss MM大寫 HH大寫原因是什麼?


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


M(month) 與 m(minute) ?


在Oracle 的SQL里,mm與MM 沒有區別,都是表示月份,mi表示分鐘,Java里MM表示月,mm 表示分鐘.大概跟語言標準規範是否區別大小寫有關吧.


補充下排名第一的回答:

UNIX man pages : date ()

PHP: Date Formats


習慣性的區分,就好像正月二月


推薦閱讀:

北京哪些互聯網公司的廁所有蹲坑?
女程序員在IT界的發展方向是什麼?
VS中的Solution是什麼意思?
作為程序員應該以什麼樣的態度對待編程語言、IDE和編輯器之爭?
中國有哪些獨立 OS X 開發者?他們的生存狀況如何?

TAG:程序員 | 編程 | 代碼 |