C# DateTime日期格式化
在C#中DateTime是一個(gè)包含日期眠砾、時(shí)間的類型,此類型通過(guò)ToString()轉(zhuǎn)換為字符串時(shí),可根據(jù)傳入給Tostring()的參數(shù)轉(zhuǎn)換為多種字符串格式艘包。
目錄
1. 分類
DateTime調(diào)用ToString()傳入的參數(shù)可分為制式和自定義兩種:
制式:系統(tǒng)自帶的,轉(zhuǎn)入特定的單個(gè)字符就可轉(zhuǎn)換為系統(tǒng)已設(shè)定好的格式耀盗。
自定義:自由組合日期代碼(y想虎、M、d叛拷、h磷醋、m胡诗、s、f)來(lái)展示豐富的日期格式骇陈。
2. 制式類型
說(shuō)明:轉(zhuǎn)入特定的單個(gè)字符就可轉(zhuǎn)換為系統(tǒng)已設(shè)定好的格式。
2.1 格式來(lái)源
在Windows系統(tǒng)中的區(qū)域和語(yǔ)言(位置:控制面板 → 區(qū)域和語(yǔ)言)選項(xiàng)中可設(shè)置日期和時(shí)間的格式瑰抵。
可設(shè)置的分類有:短日期你雌、長(zhǎng)日期二汛、短時(shí)間、長(zhǎng)時(shí)間等肴颊。
調(diào)用ToString()進(jìn)行轉(zhuǎn)換時(shí)氓栈,許多轉(zhuǎn)換方式都是通過(guò)上面的4個(gè)分類進(jìn)行組合。
2.2 符號(hào)對(duì)照表
2.2.1 環(huán)境
.net版本:4.0
系統(tǒng)版本:Win7
格式信息:
2.2.2 對(duì)照表
符號(hào) | 語(yǔ)法 | 示例(2016-05-09 13:09:55:2350) | 格式說(shuō)明 |
---|---|---|---|
y | DateTime.Now.ToString() | 2016/5/9 13:09:55 | 短日期 長(zhǎng)時(shí)間 |
d | DateTime.Now.ToString("d") | 2016/5/9 | 短日期 |
D | DateTime.Now.ToString("D") | 2016年5月9日 | 長(zhǎng)日期 |
f | DateTime.Now.ToString("f") | 2016年5月9日 13:09 | 長(zhǎng)日期 短時(shí)間 |
F | DateTime.Now.ToString("F") | 2016年5月9日 13:09:55 | 長(zhǎng)日期 長(zhǎng)時(shí)間 |
g | DateTime.Now.ToString("g") | 2016/5/9 13:09 | 短日期 短時(shí)間 |
G | DateTime.Now.ToString("G") | 2016/5/9 13:09:55 | 短日期 長(zhǎng)時(shí)間 |
t | DateTime.Now.ToString("t") | 13:09 | 短時(shí)間 |
T | DateTime.Now.ToString("T") | 13:09:55 | 長(zhǎng)時(shí)間 |
u | DateTime.Now.ToString("u") | 2016-05-09 13:09:55Z | |
U | DateTime.Now.ToString("U") | 2016年5月9日 5:09:55 | 本初子午線的長(zhǎng)日期和長(zhǎng)時(shí)間 |
m | DateTime.Now.ToString("m") | 5月9日 | |
M | DateTime.Now.ToString("M") | 5月9日 | |
r | DateTime.Now.ToString("r") | Mon, 09 May 2016 13:09:55 GMT | |
R | DateTime.Now.ToString("R") | Mon, 09 May 2016 13:09:55 GMT | |
y | DateTime.Now.ToString("y") | 2016年5月 | |
Y | DateTime.Now.ToString("Y") | 2016年5月 | |
o | DateTime.Now.ToString("o") | 2016-05-09T13:09:55.2350000 | |
O | DateTime.Now.ToString("O") | 2016-05-09T13:09:55.2350000 | |
s | DateTime.Now.ToString("s") | 2016-05-09T13:09:55 |
2.3 示例圖
2.4 win2003版本
在Win2003默認(rèn)中的無(wú)字符、d形纺、g徒欣、G格式中會(huì)用'-'符號(hào)替代'/'符號(hào)(短日期格式為:yyyy-m-d)。
3. 自定義格式類型
開發(fā)人員可通過(guò)英文字符(y官研、M闯睹、d、h楼吃、m、s酷宵、f) 分別代替(年躬窜、月、日荣挨、時(shí)默垄、分、秒口锭、毫秒)來(lái)自由組合日期時(shí)間格式。
3.1 符號(hào)對(duì)照表
.net版本:4.0
系統(tǒng)版本:Win7
符號(hào) | 說(shuō)明 | 語(yǔ)法 | 示例(2016-05-09 13:09:55:2350) |
---|---|---|---|
**** yy**** | 年份后兩位 | DateTime.Now.ToString("yy") | DateTime.Now.ToString("yy"); // => 16 |
yyyy | 4位年份 | DateTime.Now.ToString("yyyy") | DateTime.Now.ToString("yyyy"); // => 2016 |
MM | 兩位月份韭寸;單數(shù)月份前面用0填充 | DateTime.Now.ToString("MM") | DateTime.Now.ToString("MM"); // => 05 |
dd | 日數(shù) | DateTime.Now.ToString("dd") | DateTime.Now.ToString("dd"); // => 09 |
ddd | 周幾 | DateTime.Now.ToString("ddd") | DateTime.Now.ToString("ddd"); // => 周一 |
dddd | 星期幾 | DateTime.Now.ToString("dddd") | DateTime.Now.ToString("dddd"); // => 星期一 |
hh | 12小時(shí)制的小時(shí)數(shù) | DateTime.Now.ToString("hh") | DateTime.Now.ToString("hh"); // => 01 |
HH | 24小時(shí)制的小時(shí)數(shù) | DateTime.Now.ToString("HH") | DateTime.Now.ToString("HH"); // => 13 |
mm | 分鐘數(shù) | DateTime.Now.ToString("mm") | DateTime.Now.ToString("mm"); // => 09 |
ss | 秒數(shù) | DateTime.Now.ToString("ss") | DateTime.Now.ToString("ss"); // => 55 |
ff | 毫秒數(shù)前2位 | DateTime.Now.ToString("ff") | DateTime.Now.ToString("ff"); // => 23 |
fff | 毫秒數(shù)前3位 | DateTime.Now.ToString("fff") | DateTime.Now.ToString("fff"); // => 235 |
ffff | 毫秒數(shù)前4位 | DateTime.Now.ToString("ffff") | DateTime.Now.ToString("ffff"); // => 2350 |
分隔符 | 可使用分隔符來(lái)分隔年月日時(shí)分秒恩伺。包含的值可為:-臭胜、/癞尚、:等非關(guān)鍵字符 | DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");//=> 2016-05-09 13:09:55:2350 DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss:ffff"); // => 2016/05/09 13:09:55:2350 | DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss:ffff dddd"); // => 2016/05/09 13:09:55:2350 星期一 |
3.2 示例圖
End