C#中DateTime格式化

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

目錄

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) 格式說明
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 示例圖

 

原文鏈接:https://www.cnblogs.com/sunbingqiang/p/10272814.html

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章