C#實現(xiàn)日期時間的格式化輸出的示例詳解
DateTime被放在System命名空間下,在頂級語句中不必using可直接使。
單個字母格式化
DateTime最常用的屬性是Now,表示當(dāng)前的時刻,其數(shù)據(jù)類型也是DateTime。但一般來說,Now包含的內(nèi)容有些多,比較合適的用法是通過一些關(guān)鍵字進行格式化輸出,這些關(guān)鍵字可以是單個的字母,如下例所示
string[] formatLst = new string[] { "d", "D", "f", "F", "g", "G", "t", "T", "u", "U", "m", "M", "r", "R", "y", "Y", "o", "O", "s" }; foreach (var item in formatLst) { var now = DateTime.Now; Console.WriteLine($"{item}|{now.ToString(item)}"); }
標志 | 輸出 |
---|---|
2023/3/3 15:41:59 | |
d | 2023/3/3 |
D | 2023年3月3日 |
f | 2023年3月3日 15:41 |
F | 2023年3月3日 15:41:00 |
g | 2023/3/3 15:41 |
G | 2023/3/3 15:41:00 |
t | 15:41 |
T | 15:41:00 |
u | 2023-03-03 15:41:00Z |
U | 2023年3月3日 7:41:00 |
m | 3月3日 |
M | 3月3日 |
r | Fri, 03 Mar 2023 15:41:00 GMT |
R | Fri, 03 Mar 2023 15:41:00 GMT |
y | 2023年3月 |
Y | 2023年3月 |
o | 2023-03-03T15:41:00.4768044+08:00 |
O | 2023-03-03T15:41:00.4769105+08:00 |
s | 2023-03-03T15:41:00 |
其中,U
表示本初子午線的長日期和長時間。
自定義格式化
ToString
也重載了更加復(fù)雜的格式化方法
string[] fmtLst = new string[] { "yy", "yyyy", "MM", "dd", "ddd", "dddd", "hh", "HH", "mm", "ss", "ff", "fff", "ffff"}; foreach (var item in fmtLst) { var now = DateTime.Now; Console.WriteLine($"{item}|{now.ToString(item)}"); }
格式 | 輸出 | 說明 |
---|---|---|
yy | 23 | 年份后兩位 |
yyyy | 2023 | 4位年份 |
MM | 03 | 兩位月份 |
dd | 03 | 日數(shù) |
ddd | 周五 | |
dddd | 星期五 | |
hh | 03 | 12小時制的小時數(shù) |
HH | 15 | 24小時制的小時數(shù) |
mm | 45 | 分鐘數(shù) |
ss | 51 | 秒數(shù) |
ff | 15 | 毫秒數(shù)前2位 |
fff | 156 | 毫秒數(shù)前3位 |
ffff | 1567 | 毫秒數(shù)前4位 |
上面這些針對單個年、月、日、時、分、秒的關(guān)鍵字可以通過插入其他符號的方式自由組合,例如
var dt1 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffff"); var dt2 = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); var dt3 = DateTime.Now.ToString("yyyy年MM月dd日 dddd"); Console.WriteLine(dt1); Console.WriteLine(dt2); Console.WriteLine(dt3);
命令行輸出為
2023-03-03 15:50:20.8885
2023/03/03 15:50:20
2023年03月03日 星期五
到此這篇關(guān)于C#實現(xiàn)日期時間的格式化輸出的示例詳解的文章就介紹到這了,更多相關(guān)C#日期時間格式化輸出內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!