1. 程式人生 > 其它 >C# DateTime日期格式化

C# DateTime日期格式化

在C#中DateTime是一個包含日期、時間的型別,此型別通過ToString()轉換為字串時,可根據傳入給Tostring()的引數轉換為多種字串格式。

在C#中DateTime是一個包含日期、時間的型別,此型別通過ToString()轉換為字串時,可根據傳入給Tostring()的引數轉換為多種字串格式。

常用用幾種

            DateTime now = DateTime.Now;

            Console.WriteLine(now.Year.ToString());  //2021
            Console.WriteLine(now.Month.ToString()); // 9
            Console.WriteLine(now.DayOfWeek.ToString()); //Sunday
Console.WriteLine(now.Day.ToString()); //5 Console.WriteLine(now.Hour.ToString());//14 Console.WriteLine(now.Minute.ToString());//57 Console.WriteLine(now.Second.ToString());//7 Console.WriteLine(now.ToString("g"));//g=d+' '+t 2021/9/5 14:54 Console.WriteLine(now.ToString("
d")); //date 2021/9/5 Console.WriteLine(now.ToString("t"));//time 14:54 Console.WriteLine(now.ToString("G"));//G=d+' '+T 2021/9/5 14:54:06 Console.WriteLine(now.ToString("d")); //date 2021/9/5 Console.WriteLine(now.ToString("T"));//time 14:54:06 Console.WriteLine(now.ToString(
"f"));//f=D+' '+t 2021年9月5日 14:54 Console.WriteLine(now.ToString("D")); //date 2021年9月5日 Console.WriteLine(now.ToString("t"));//time 14:54 Console.WriteLine(now.ToString("F"));//f=D+' '+T 2021年9月5日 14:54:06 Console.WriteLine(now.ToString("D")); //date 2021年9月5日 Console.WriteLine(now.ToString("T"));//time 14:54:06 Console.WriteLine(now.ToString("dddd"));//day 星期日

目錄

1. 分類

2. 制式型別

3. 自定義格式型別

1. 分類

DateTime呼叫ToString()傳入的引數可分為制式和自定義兩種:

1) 制式:系統自帶的,轉入特定的單個字元就可轉換為系統已設定好的格式。

2) 自定義:自由組合日期程式碼(y、M、d、h、m、s、f)來展示豐富的日期格式。

2. 制式型別

說明:轉入特定的單個字元就可轉換為系統已設定好的格式。

2.1 格式來源

在Windows系統中的區域和語言(位置:控制面板 → 區域和語言)選項中可設定日期和時間的格式。

可設定的分類有:短日期、長日期、短時間、長時間等。

呼叫ToString()進行轉換時,許多轉換方式都是通過上面的4個分類進行組合。

2.2 符號對照表

2.2.1 環境

.net版本:4.0

系統版本:Win7

格式資訊

2.2.2 對照表

     符號       語法   示例(2016-05-09 13:09:55:2350) 格式說明
- DateTime.Now.ToString() 2016/5/9 13:09:55 和 G一樣 短日期 長時間
d DateTime.Now.ToString("d") 2016/5/9 短日期
D DateTime.Now.ToString("D") 2016年5月9日 長日期
f DateTime.Now.ToString("f") 2016年5月9日 13:09 f=D+' 't 長日期 短時間
F DateTime.Now.ToString("F") 2016年5月9日 13:09:55 F=D+' 'T 長日期 長時間
g DateTime.Now.ToString("g") 2016/5/9 13:09 g=d+' 't 短日期 短時間
G DateTime.Now.ToString("G") 2016/5/9 13:09:55 G=d+' 'T 短日期 長時間
t DateTime.Now.ToString("t") 13:09 短時間
T DateTime.Now.ToString("T") 13:09:55 長時間
u DateTime.Now.ToString("u") 2016-05-09 13:09:55Z
U DateTime.Now.ToString("U") 2016年5月9日 5:09:55 本初子午線的長日期和長時間
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 示例圖


3. 自定義格式型別

開發人員可通過英文字元(y、M、d、h、m、s、f) 分別代替(年、月、日、時、分、秒、毫秒)來自由組合日期時間格式。

3.1 符號對照表

.net版本:4.0

系統版本:Win7

  符號   說明
語法 示例(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 兩位月份;單數月份前面用0填充 DateTime.Now.ToString("MM") DateTime.Now.ToString("MM"); // => 05
  dd 日數 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小時制的小時數 DateTime.Now.ToString("hh") DateTime.Now.ToString("hh"); // => 01
  HH 24小時制的小時數 DateTime.Now.ToString("HH") DateTime.Now.ToString("HH"); // => 13
  mm 分鐘數 DateTime.Now.ToString("mm") DateTime.Now.ToString("mm"); // => 09
  ss 秒數 DateTime.Now.ToString("ss") DateTime.Now.ToString("ss"); // => 55
  ff 毫秒數前2位 DateTime.Now.ToString("ff") DateTime.Now.ToString("ff"); // => 23
  fff 毫秒數前3位 DateTime.Now.ToString("fff") DateTime.Now.ToString("fff"); // => 235
  ffff 毫秒數前4位 DateTime.Now.ToString("ffff") DateTime.Now.ToString("ffff"); // => 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"); // =>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 示例圖

程式設計是個人愛好