原文
雖然 System.DateTime 本身已經具有了不少現成的格式化輸出,例如: ToLongDateString, ToShortTimeString, ToUniversalTime 等,但是卻遠遠不能滿足我們實際的需要,這就要用到了 DateTime.ToString,就要提到 DateTimeFormatInfo 了,見下面的 MSDN 說明:
格式字符
關聯屬性/說明
d
ShortDatePattern
D
LongDatePattern
f
完整日期和時間(長日期和短時間)
F
FullDateTimePattern(長日期和長時間)
g
常規(短日期和短時間)
G
常規(短日期和長時間)
m、M
MonthDayPattern
r、R
RFC1123Pattern
s
使用當地時間的 SortableDateTimePattern(基于 ISO 8601)
t
ShortTimePattern
T
LongTimePattern
u
UniversalSortableDateTimePattern 用于顯示通用時間的格式
U
使用通用時間的完整日期和時間(長日期和長時間)
y、Y
YearMonthPattern
具體使用時的格式參見:
格式模式
說明
d、%d
月中的某一天。一位數的日期沒有前導零。如果該格式模式沒有與其他格式模式組合,則指定“%d”。
dd
月中的某一天。一位數的日期有一個前導零。
ddd
周中某天的縮寫名稱,在 AbbreviatedDayNames 中定義。
dddd
周中某天的完整名稱,在 DayNames 中定義。
M、%M
月份數字。一位數的月份沒有前導零。如果該格式模式沒有與其他格式模式組合,則指定“%M”。
MM
月份數字。一位數的月份有一個前導零。
MMM
月份的縮寫名稱,在 AbbreviatedMonthNames 中定義。
MMMM
月份的完整名稱,在 MonthNames 中定義。
y、%y
不包含紀元的年份。如果不包含紀元的年份小于 10,則顯示不具有前導零的年份。如果該格式模式沒有與其他格式模式組合,則指定“%y”。
yy
不包含紀元的年份。如果不包含紀元的年份小于 10,則顯示具有前導零的年份。
yyyy
包括紀元的四位數的年份。
gg
時期或紀元。如果要設置格式的日期不具有關聯的時期或紀元字符串,則忽略該模式。
h、%h
12 小時制的小時。一位數的小時數沒有前導零。如果該格式模式沒有與其他格式模式組合,則指定“%h”。
hh
12 小時制的小時。一位數的小時數有前導零。
H、%H
24 小時制的小時。一位數的小時數沒有前導零。如果該格式模式沒有與其他格式模式組合,則指定“%H”。
HH
24 小時制的小時。一位數的小時數有前導零。
m、%m
分鐘。一位數的分鐘數沒有前導零。如果該格式模式沒有與其他格式模式組合,則指定“%m”。
mm
分鐘。一位數的分鐘數有一個前導零。
s、%s
秒。一位數的秒數沒有前導零。如果該格式模式沒有與其他格式模式組合,則指定“%s”。
ss
秒。一位數的秒數有一個前導零。
f、%f
秒的小數精度為一位。其余數字被截斷。如果該格式模式沒有與其他格式模式組合,則指定“%f”。
ff
秒的小數精度為兩位。其余數字被截斷。
fff
秒的小數精度為三位。其余數字被截斷。
ffff
秒的小數精度為四位。其余數字被截斷。
fffff
秒的小數精度為五位。其余數字被截斷。
ffffff
秒的小數精度為六位。其余數字被截斷。
fffffff
秒的小數精度為七位。其余數字被截斷。
F、%F
顯示秒的小數部分的最高有效數字。如果該數字為零,則不顯示任何內容。如果該格式模式沒有與其他格式模式組合,則指定“%F”。
FF
顯示秒的小數部分的兩個最高有效數字。但是,不顯示尾隨的零(兩個零數字)。
FFF
顯示秒的小數部分的三個最高有效數字。但是,不顯示尾隨的零(三個零數字)。
FFFF
顯示秒的小數部分的四個最高有效數字。但是,不顯示尾隨的零(四個零數字)。
FFFFF
顯示秒的小數部分的五個最高有效數字。但是,不顯示尾隨的零(五個零數字)。
FFFFFF
顯示秒的小數部分的六個最高有效數字。但是,不顯示尾隨的零(六個零數字)。
FFFFFFF
顯示秒的小數部分的七個最高有效數字。但是,不顯示尾隨的零(七個零數字)。
t、%t
在 AMDesignator 或 PMDesignator 中定義的 AM/PM 指示項的第一個字符(如果存在)。如果該格式模式沒有與其他格式模式組合,則指定“%t”。
tt
在 AMDesignator 或 PMDesignator 中定義的 AM/PM 指示項(如果存在)。
z、%z
時區偏移量(“+”或“-”后面僅跟小時)。一位數的小時數沒有前導零。例如,太平洋標準時間是“-8”。如果該格式模式沒有與其他格式模式組合,則指定“%z”。
zz
時區偏移量(“+”或“-”后面僅跟小時)。一位數的小時數有前導零。例如,太平洋標準時間是“-08”。
zzz
完整時區偏移量(“+”或“-”后面跟有小時和分鐘)。一位數的小時數和分鐘數有前導零。例如,太平洋標準時間是“-08:00”。
:
在 TimeSeparator 中定義的默認時間分隔符。
/
在 DateSeparator 中定義的默認日期分隔符。
% c
其中 c 是格式模式(如果單獨使用)。也就是說,若要單獨使用格式模式“d”、“f”、“F”、“h”、“m”、“s”、“t”、“y”、“z”、“H”或 “M”,請指定“%d”、“%f”、“%F”、“%h”、“%m”、“%s”、“%t”、“%y”、“%z”、“%H”或“%M”。
如果格式模式與原義字符或其他格式模式合并,則可以省略“%”字符。
\ c
其中 c 是任意字符。照原義顯示字符。若要顯示反斜杠字符,請使用“\\”。