首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

C# DateTime.ToString 自訂格式字串完整參考表

     編輯:關於C#

日期與時間格式規格字元對照表

所有規格字元區分大小寫,可任意組合構成自訂格式字串。下表列出各規格字元意義與輸出範例 (假設 DateTime dt = new DateTime(2024, 3, 15, 14, 30, 45, 123))。

規格說明範例輸出
d日,無前導零15
dd日,兩位數前導零15
ddd星期縮寫 (取決於 Culture)五
dddd星期全名星期五
M月,無前導零3
MM月,兩位數前導零03
MMM月份縮寫三月
MMMM月份全名三月
y年 (無紀元),無前導零24
yy年 (無紀元),兩位數24
yyyy年 (含紀元),四位數2024
gg紀元/時代 (如西元)西元
h12 小時制,無前導零2
hh12 小時制,兩位數02
H24 小時制,無前導零14
HH24 小時制,兩位數14
m分,無前導零30
mm分,兩位數30
s秒,無前導零45
ss秒,兩位數45
f秒小數 1 位 (截斷)1
ff秒小數 2 位12
fff秒小數 3 位 (毫秒)123
ffff秒小數 4 位1230
fffff秒小數 5 位12300
ffffff秒小數 6 位 (微秒)123000
fffffff秒小數 7 位 (100 奈秒)1230000
tAM/PM 首字母下
ttAM/PM 完整下午
z時區偏移小時 (無前導零)+8
zz時區偏移小時 (兩位數)+08
zzz時區偏移完整 (+hh:mm)+08:00
:時間分隔符 (依 Culture):
/日期分隔符 (依 Culture)/
'...'字面字串 (單引號包裹)'Year: ' → Year:
\c跳脫單一字元\: → :

常用組合範例

var dt = DateTime.Now;

dt.ToString("yyyy-MM-dd")              // 2024-03-15
dt.ToString("yyyy/MM/dd HH:mm:ss")     // 2024/03/15 14:30:45
dt.ToString("yyyy年M月d日 dddd")       // 2024年3月15日 星期五
dt.ToString("HH:mm:ss.fff")            // 14:30:45.123
dt.ToString("yyyy-MM-ddTHH:mm:ss.fffzzz") // 2024-03-15T14:30:45.123+08:00 (ISO 8601)
dt.ToString("yyyyMMddHHmmss")          // 20240315143045 (檔名安全)
dt.ToString("tt hh:mm")                // 下午 02:30

文化特性 (CultureInfo) 影響

using System.Globalization;

dt.ToString("yyyy年MM月dd日", new CultureInfo("zh-TW")) // 繁體中文
dt.ToString("MMMM dd, yyyy", new CultureInfo("en-US"))  // March 15, 2024
dt.ToString("d", CultureInfo.InvariantCulture)          // 03/15/2024 (固定格式)

標準格式字串速查

規格名稱範例 (en-US)
dShortDate3/15/2024
DLongDateFriday, March 15, 2024
tShortTime2:30 PM
TLongTime2:30:45 PM
fFullDateTimeFriday, March 15, 2024 2:30 PM
FFullDateTimeLongFriday, March 15, 2024 2:30:45 PM
gGeneral3/15/2024 2:30 PM
GGeneralLong3/15/2024 2:30:45 PM
o / ORoundTrip (ISO 8601)2024-03-15T14:30:45.1230000+08:00
r / RRFC1123Fri, 15 Mar 2024 06:30:45 GMT
sSortable2024-03-15T14:30:45
uUniversalSortable2024-03-15 14:30:45Z

使用方式:dt.ToString("o") 或 dt.ToString("O")。

ParseExact / TryParseExact 反向解析

string input = "2024年03月15日";
DateTime dt = DateTime.ParseExact(input, "yyyy年MM月dd日", CultureInfo.GetCultureInfo("zh-TW"));

// 多格式嘗試
string[] formats = { "yyyy-MM-dd", "yyyy/MM/dd", "yyyy年M月d日" };
bool ok = DateTime.TryParseExact(input, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt);

參考資源

原文連結:https://www.bianceng.cn/Programming/csharp/201410/45591.htm

MSDN 官方文件:Custom date and time format strings

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved