標籤:htm may ref 定義 圖片 name 內建 span 系統
# 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/polk6/p/5465088.html
C# 日期格式