下面的表格識別預先定義的日期與時間格式名稱。這些名稱可以當做 Format 函式的樣式引數:
格式名稱 |
說明 |
|
General Date或 G |
顯示日期及/或時間。例如 4/3/93 05:34 PM。顯示的日期是由系統的 LocaleID 值所決定。 |
|
Long Date、Medium Date 或 D |
依據地區設定的完整日期格式來顯示日期。 |
|
Short Date或 d |
使用地區設定的簡短日期格式來顯示日期。 |
|
Long Time、Medium Time 或 T |
使用地區設定的完整時間格式來顯示時間,通常包括時、分、秒。 |
|
Short Time或 t |
使用地區設定的簡短時間格式來顯示時間。 |
|
f |
依據地區設定的格式來顯示完整日期及簡短時間。 |
|
F |
依據地區設定的格式來顯示完整日期及完整時間。 |
|
g |
依據地區設定的格式來顯示簡短日期及簡短時間。 |
|
M, m |
顯示幾月幾日。 |
|
R, r |
按照格林威治標準時間 (GMT) 來格式化日期和時間。 |
|
s |
按照可排序的索引來格式化日期及時間。 |
|
u |
按照 GMT 可排序的索引來格式化日期及時間。 |
|
U |
按照 GMT 以完整日期及完整時間來格式化日期及時間。 |
|
Y, y |
按照年份及月份來格式化日期。 |
下面的表格顯示可用來建立使用者定義日期/時間格式的字元:不同於舊版的 Visual Basic,這些格式字元會區分大小寫。
字元 |
說明 |
(:) |
時間分隔符號。在某些地區設定中,可使用其他字元來代表時間分隔符號。當格式化時間值時,會使用時間分隔符號來分隔時、分及秒。在格式化輸出中,用作時間分隔符號的實際字元,係由系統的 LocaleID 值決定。 |
(/) |
日期分隔符號。在某些地區設定中,可使用其他字元來代表日期分隔符號。當格式化日期值時,會使用日期分隔符號來分隔日、月及年。格式化輸出中做為日期分隔符號使用的實際字元係由地區設定所決定。 |
(%) |
用來指示應該將下列字元當做單一字母格式讀取,而不管後面是否跟著任何字母。也可以用來指示將單一字母格式當做使用者定義格式讀取。如需詳細資訊,請參閱下面的說明。 |
d |
將日期顯示成數字,且不需要前置零 (例如,1)。如果這是使用者定義的數值格式中的唯一字元,請使用 %d。 |
dd |
將日期顯示成數字,並且加上前置零 (例如,01)。 |
ddd |
用縮寫來顯示星期幾 (例如,Sun)。 |
dddd |
用完整名稱來顯示星期幾 (例如,Sunday)。 |
M |
將月份顯示成數字,且不需要前置零 (例如,以 1 表示一月)。如果這是使用者定義的數值格式中的唯一字元,請使用 %M。 |
MM |
將月份顯示成數字,並且加上前置零 (例如,01/12/01)。 |
MMM |
用縮寫來顯示月份 (例如,Jan)。 |
MMMM |
用完整名稱來顯示月份 (例如,January)。 |
gg |
顯示句號 /Era 字串 (例如,A.D.) |
h |
使用 12 小時制將小時顯示成數字,且不需要前置零 (例如,1:15:15 PM)。如果這是使用者定義的數值格式中的唯一字元,請使用 %h。 |
hh |
使用 12 小時制將小時顯示成數字,並且加上前置零 (例如,01:15:15 PM)。 |
H |
使用 24 小時制將小時顯示成數字,且不需要前置零 (例如:1:15:15)。如果這是使用者定義的數值格式中的唯一字元,請使用 %H。 |
HH |
使用 24 小時制將小時顯示成數字,並且加上前置零 (例如:01:15:15)。 |
m |
將分鐘顯示成數字,且不需要前置零 (例如,12:1:15)。如果這是使用者定義的數值格式中的唯一字元,請使用 %m。 |
mm |
將分鐘顯示成數字,並且加上前置零 (例如,12:01:15)。 |
s |
將秒數顯示成數字,且不需要前置零 (例如,12:15:5)。如果這是使用者定義的數值格式中的唯一字元,請使用 %s。 |
ss |
將秒數顯示成數字,並且加上前置零 (例如,12:15:05)。 |
F |
顯示秒數的小數部分。例如:ff 會顯示至百分之一秒,而 ffff 則會顯示至萬分之一秒。您最多可在使用者定義格式中使用 7 個 f 符號。如果這是使用者定義的數值格式中的唯一字元,請使用 %f。 |
T |
使用 12 小時制,並且在正午之前的任何時間顯示大寫的 A;在正午與 11:59 P.M. 之前的任何時間顯示大寫的 P。如果這是使用者定義數值格式中的唯一字元,請使用 %t。 |
tt |
使用 12 小時制,並且在正午之前的任何時間顯示大寫的 AM;在正午與 11:59 P.M. 之前的任何時間顯示大寫的 PM。 而使用 24 小時制的地區,則不顯示。 |
y |
顯示年份數字 (0-9),且不需要前置零。如果這是使用者定義的數值格式中的唯一字元,請使用 %y。 |
yy |
將年份顯示成兩位數的數值格式,並且加上前置零 (如果需要的話)。 |
yyy |
將年份顯示成四位數的數值格式。 |
yyyy |
將年份顯示成四位數的數值格式。 |
z |
顯示時區時差,不加上前置零 (例如,-8)。如果這是使用者定義的數值格式中的唯一字元,請使用 %z。 |
zz |
顯示時區時差,並且加上前置零 (例如,-08) |
zzz |
顯示完整時區時差 (例如,-08:00) |
範例
下面的表格列出 December 7, 1958, 8:50 PM, 35 seconds 的使用者定義日期與時間格式:
格式 |
顯示 |
M/d/yy |
12/7/58 |
d-MMM |
7-Dec |
d-MMMM-yy |
7-December-58 |
d MMMM |
7 December |
MMMM yy |
December 58 |
hh:mm tt |
08:50 PM |
h:mm:ss t |
8:50:35 P |
H:mm |
20:50 |
H:mm:ss |
20:50:35 |
M/d/yyyy H:mm |
12/7/1958 20:50 |
**************************************************************************************************************************
ToString()時,格式化
定義 DateTime 值如何依據文化特性 (Culture) 來格式化和顯示。
格式化字元 |
相關屬性/說明 |
d |
ShortDatePattern |
D |
LongDatePattern |
f |
詳細日期和時間 (完整日期和簡短時間) |
F |
FullDateTimePattern (完整日期和完整時間) |
g |
一般 (簡短日期和簡短時間) |
G |
一般 (簡短日期和完整時間) |
m、M |
MonthDayPattern |
r、R |
RFC1123Pattern |
s |
使用本地時間的SortableDateTimePattern (根據 ISO 8601) |
t |
ShortTimePattern |
T |
LongTimePattern |
u |
使用 Universal Time 顯示格式的UniversalSortableDateTimePattern |
U |
使用 Universal Time 的詳細日期和時間 (完整日期和完整時間) |
y、Y |
YearMonthPattern |
下表列出可組合來建構自訂模式的模式。模式要區分大小寫;例如,"MM" 可以被辨認,但 "mm" 則否。如果自訂模式包含空白字元或以單引號括住的字元,輸出字串也將包含那些字元。未定義為格式模式一部分或格式化字元的字元將逐字重現。
格式模式 |
說明 |
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"。 如果格式模式與常值 (Literal) 字元或其他格式模式相組合的話,"%" 字元可以省略。 |
" c |
其中 c 為任何字元。會逐字顯示字元。若要顯示反斜線字元,請使用 """"。 |
只有在上述第二個表格中列出的格式模式可以被用來建立自訂模式;列於第一個表格的標準格式化字元不可以用來建立自訂模式。自訂模式至少要有兩個字元長;例如,
DateTime.ToString( "d" ) 會傳回 DateTime 值;"d" 是標準簡短日期模式。
DateTime.ToString( "%d" ) 會傳回月份中的日;"%d" 是自訂模式。
DateTime.ToString( "d " ) 會傳回月份中的日,其後緊接著空白字元;"d " 是自訂模式。