1. 程式人生 > >轉載:C# DateTime日期格式化 方便查閱

轉載:C# DateTime日期格式化 方便查閱

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

目錄

1. 分類

2. 制式型別

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) 格式說明
y DateTime.Now.ToString() 2016/5/9 13:09:55 短日期 長時間
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 DateTime.Now.ToString("F") 2016年5月9日 13:09:55 長日期 長時間
g DateTime.Now.ToString("g") 2016/5/9 13:09 短日期 短時間
G DateTime.Now.ToString("G")  2016/5/9 13:09:55 短日期 長時間
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 示例圖

2.4 win2003版本 

在Win2003預設中的無字元、d、g、G格式中會用'-'符號替代'/'符號(短日期格式為:yyyy-m-d)。

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 示例圖