深入理解C# DateTime日期格式化
在C#中DateTime是一個(gè)包含日期、時(shí)間的類型,此類型通過(guò)ToString()轉(zhuǎn)換為字符串時(shí),可根據(jù)傳入給Tostring()的參數(shù)轉(zhuǎn)換為多種字符串格式。
1. 分類
DateTime調(diào)用ToString()傳入的參數(shù)可分為制式和自定義兩種:
1) 制式:系統(tǒng)自帶的,轉(zhuǎn)入特定的單個(gè)字符就可轉(zhuǎn)換為系統(tǒng)已設(shè)定好的格式。
2) 自定義:自由組合日期代碼(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 示例圖
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
帶著問(wèn)題讀CLR via C#(筆記二)類型基礎(chǔ)
A1: Object類型共包含6個(gè)方法,Equals, GetHashCode, ToString, GetType, MemberwiseClone和Finalize.2013-04-04C#實(shí)現(xiàn)網(wǎng)絡(luò)通信共享庫(kù)NetShare的使用示例
本文主要介紹了C#實(shí)現(xiàn)網(wǎng)絡(luò)通信共享庫(kù)NetShare,網(wǎng)絡(luò)通信共享庫(kù)NetShare用于保證客戶端與服務(wù)器通信數(shù)據(jù)包的規(guī)范和統(tǒng)一,感興趣的可以了解一下2023-11-11C#實(shí)現(xiàn)驗(yàn)證字符串的長(zhǎng)度的方法詳解
這篇文章主要為大家詳細(xì)介紹了C#如何使用正則表達(dá)或者計(jì)算字符數(shù)組長(zhǎng)度或字符串的長(zhǎng)度來(lái)驗(yàn)證驗(yàn)證字符串的長(zhǎng)度,感興趣的小伙伴可以學(xué)習(xí)一下2024-02-02C#中使用1.7版本驅(qū)動(dòng)操作MongoDB簡(jiǎn)單例子
這篇文章主要介紹了C#中使用1.7版本驅(qū)動(dòng)操作MongoDB簡(jiǎn)單例子,本文給出了連接MongoDB、操作MongoDB數(shù)據(jù)等例子,需要的朋友可以參考下2015-01-01C# WINFORM 強(qiáng)制讓窗體獲得焦點(diǎn)的方法代碼
C# WINFORM 強(qiáng)制讓窗體獲得焦點(diǎn)的方法代碼,需要的朋友可以參考一下2013-04-04