共用方式為


自訂日期和時間格式字串

更新:2007 年 11 月

自訂日期和時間格式字串會定義由格式化作業所產生之 DateTimeDateTimeOffset 值的文字表示。自訂格式字串是由一個或多個自訂日期和時間格式規範所組成。任何不是標準日期和時間格式字串的字串都會被解譯為自訂日期和時間格式字串。

注意:標準日期和時間格式字串可以與 DateTimeDateTimeOffset 值搭配使用。

自訂日期和時間格式規範

下表描述自訂日期和時間的格式規範。除非特別註明,否則特定自訂日期和時間格式規範會產生相同的字串表示,無論是與 DateTime 值或 DateTimeOffset 值搭配使用。

格式規範

說明

d

以 1 到 31 的數字代表月份的日期,單一位數的日期會設定為沒有前置零的格式。如需使用單一自訂格式規範的詳細資訊,請參閱使用單一自訂格式規範。

下列範例會在幾個格式字串中加入 d 自訂格式規範。

Dim date1 As Date = #08/29/2008 7:27:15PM#
Console.WriteLine(date1.ToString("d, M", _
CultureInfo.InvariantCulture))
' Displays 29, 8
Console.WriteLine(date1.ToString("d MMMM", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays 29 August
Console.WriteLine(date1.ToString("d MMMM", _
CultureInfo.CreateSpecificCulture("es-MX")))
' Displays 29 agosto
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);
Console.WriteLine(date1.ToString("d, M",
CultureInfo.InvariantCulture));
// Displays 29, 8
Console.WriteLine(date1.ToString("d MMMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays 29 August
Console.WriteLine(date1.ToString("d MMMM",
CultureInfo.CreateSpecificCulture("es-MX")));
// Displays 29 agosto

dd

以 01 到 31 的數字代表月份的日期,單一位數的日期會設定為有前置零的格式。下列範例會在自訂格式字串中加入 dd 自訂格式規範。

Dim date1 As Date = #1/2/2008 6:30:15AM#
Console.WriteLine(date1.ToString("dd, MM", _
CultureInfo.InvariantCulture))
' 02, 01
DateTime date1 = new DateTime(2008, 1, 2, 6, 30, 15);
Console.WriteLine(date1.ToString("dd, MM",
CultureInfo.InvariantCulture));
// 02, 01

ddd

表示一週中星期幾的縮寫名稱,如目前 DateTimeFormatInfo.AbbreviatedDayNames 屬性內所定義。下列範例會在自訂格式字串中加入 ddd 自訂格式規範。

Dim date1 As Date = #08/29/2008 7:27:15PM#
Console.WriteLine(date1.ToString("ddd d MMM", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays ven. 29 aot
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);
Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays ven. 29 aot

dddd (加上任何數目的其他 d 規範)

表示一週中星期幾的完整名稱,如目前 DateTimeFormatInfo.DayNames 屬性內所定義。下列範例會在自訂格式字串中加入 dddd 自訂格式規範。

Dim date1 As Date = #08/29/2008 7:27:15PM#
Console.WriteLine(date1.ToString("dddd dd MMMM", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM", _
CultureInfo.CreateSpecificCulture("it-IT")))
' Displays venerd 29 agosto
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);
Console.WriteLine(date1.ToString("dddd dd MMMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM",
CultureInfo.CreateSpecificCulture("it-IT")));
// Displays venerd 29 agosto

f

表示秒數中的最大有效位數,也就是說,它表示的是日期和時間值中的十分之一秒。

如果單獨使用 f 格式規範,而沒有其他格式規範,則會將它解譯為 f 標準日期和時間格式規範。如需使用單一格式規範的詳細資訊,請參閱使用單一自訂格式規範。

當使用做為提供給 ParseExactTryParseExactParseExactTryParseExact 方法之格式字串的一部分時,所使用的 f 格式規範數目代表秒數的最大有效位數的數目,此數目是成功剖析字串所必須有的。

下列範例會在自訂格式字串中加入 f 自訂格式規範。

Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018

ff

表示秒數中的兩個最大有效位數,也就是說,它表示的是日期和時間值中的百分之一秒。下列範例會在自訂格式字串中加入 ff 自訂格式規範。

Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018

fff

表示秒數中的三個最大有效位數,也就是說,它表示的是日期和時間值中的毫秒。下列範例會在自訂格式字串中加入 fff 自訂格式規範。

Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018

ffff

表示秒數中的四個最大有效位數,也就是說,它表示的是日期和時間值中的萬分之一秒。

雖然可以時間值的秒數元件可以顯示到萬分之一秒,但該值可能沒有太大的意義。日期和時間值的精確度會根據系統時鐘的解析度而定。在 Windows NT 3.5 (含) 以後版本和 Windows Vista 作業系統中,時鐘的解析度大約為 10-15 毫秒。

fffff

表示秒數中的五個最大有效位數,也就是說,它表示的是日期和時間值中的十萬分之一秒。

雖然可以時間值的秒數元件可以顯示到十萬分之一秒,但該值可能沒有太大的意義。日期和時間值的精確度會根據系統時鐘的解析度而定。在 Windows NT 3.5 (含) 以後版本和 Windows Vista 作業系統中,時鐘的解析度大約為 10-15 毫秒。

ffffff

表示秒數中的六個最大有效位數,也就是說,它表示的是日期和時間值中的百萬分之一秒。

雖然可以時間值的秒數元件可以顯示到百萬分之一秒,但該值可能沒有太大的意義。日期和時間值的精確度會根據系統時鐘的解析度而定。在 Windows NT 3.5 (含) 以後版本和 Windows Vista 作業系統中,時鐘的解析度大約為 10-15 毫秒。

fffffff

表示秒數中的七個最大有效位數,也就是說,它表示的是日期和時間值中的千萬分之一秒。

雖然可以時間值的秒數元件可以顯示到千萬分之一秒,但該值可能沒有太大的意義。日期和時間值的精確度會根據系統時鐘的解析度而定。在 Windows NT 3.5 (含) 以後版本和 Windows Vista 作業系統中,時鐘的解析度大約為 10-15 毫秒。

F

表示秒數中的最大有效位數,也就是說,它表示的是日期和時間值中的十分之一秒。如果此數為零,則不顯示任何數字。

如果單獨使用 F 格式規範,而沒有其他格式規範,則會將它解譯為 F 標準日期和時間格式規範。如需使用單一格式規範的詳細資訊,請參閱使用單一自訂格式規範。

ParseExactTryParseExactParseExactTryParseExact 方法搭配使用的 F 格式規範數目,代表秒數的最大有效位數的數目上限,此數目是成功剖析字串所需要的。

下列範例會在自訂格式字串中加入 F 自訂格式規範。

Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018

FF

表示秒數中的兩個最大有效位數,也就是說,它表示的是日期和時間值中的百分之一秒。不過,結尾的零或兩個零的數字都不會顯示。下列範例會在自訂格式字串中加入 FF 自訂格式規範。

Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018

FFF

表示秒數中的三個最大有效位數,也就是說,它表示的是日期和時間值中的毫秒。不過,結尾的零或三個零的數字都不會顯示。下列範例會在自訂格式字串中加入 FFF 自訂格式規範。

Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018

FFFF

表示秒數中的四個最大有效位數,也就是說,它表示的是日期和時間值中的萬分之一秒。不過,結尾的零或四個零的數字都不會顯示。

雖然可以時間值的秒數元件可以顯示到萬分之一秒,但該值可能沒有太大的意義。日期和時間值的精確度會根據系統時鐘的解析度而定。在 Windows NT 3.5 (含) 以後版本和 Windows Vista 作業系統中,時鐘的解析度大約為 10-15 毫秒。

FFFFF

表示秒數中的五個最大有效位數,也就是說,它表示的是日期和時間值中的十萬分之一秒。不過,結尾的零或五個零的數字都不會顯示。

雖然可以時間值的秒數元件可以顯示到十萬分之一秒,但該值可能沒有太大的意義。日期和時間值的精確度會根據系統時鐘的解析度而定。在 Windows NT 3.5 (含) 以後版本和 Windows Vista 作業系統中,時鐘的解析度大約為 10-15 毫秒。

FFFFFF

表示秒數中的六個最大有效位數,也就是說,它表示的是日期和時間值中的百萬分之一秒。不過,結尾的零或六個零的數字都不會顯示。

雖然可以時間值的秒數元件可以顯示到百萬分之一秒,但該值可能沒有太大的意義。日期和時間值的精確度會根據系統時鐘的解析度而定。在 Windows NT 3.5 (含) 以後版本和 Windows Vista 作業系統中,時鐘的解析度大約為 10-15 毫秒。

FFFFFFF

表示秒數中的七個最大有效位數,也就是說,它表示的是日期和時間值中的千萬分之一秒。不過,結尾的零或七個零的數字都不會顯示。

雖然可以時間值的秒數元件可以顯示到千萬分之一秒,但該值可能沒有太大的意義。日期和時間值的精確度會根據系統時鐘的解析度而定。在 Windows NT 3.5 (含) 以後版本和 Windows Vista 作業系統中,時鐘的解析度大約為 10-15 毫秒。

g, gg (加上任何數目的其他 g 規範)

表示時期或時代,例如西元。如果要格式化的日期沒有關聯的時期或時代字串,則格式化會忽略這個規範。如需使用單一格式規範的詳細資訊,請參閱使用單一自訂格式規範。

下列範例會在自訂格式字串中加入 g 自訂格式規範。

Dim date1 As Date = #08/04/0070#
Console.WriteLine(date1.ToString("MM/dd/yyyy g", _
CultureInfo.InvariantCulture))
' Displays 08/04/0070 A.D.
Console.WriteLine(date1.ToString("MM/dd/yyyy g", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 08/04/0070 ap. J.-C.
DateTime date1 = new DateTime(70, 08, 04);
Console.WriteLine(date1.ToString("MM/dd/yyyy g",
CultureInfo.InvariantCulture));
// Displays 08/04/0070 A.D.
Console.WriteLine(date1.ToString("MM/dd/yyyy g",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 08/04/0070 ap. J.-C.

h

以 1 到 12 的數字來表示小時,也就是以 12 小時制來表示小時,從午夜或中午開始計算整點時數。午夜後的特定小時與下午的相同小時會難以區分。小時是不進位的,而且單一位數的小時會格式化為沒有前置零的數字。例如,假設時間為 5:43,則此自訂格式規範會顯示 "5"。如需使用單一格式規範的詳細資訊,請參閱使用單一自訂格式規範。

下列範例會在自訂格式字串中加入 h 自訂格式規範。

Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5

hh, hh (加上任何數目的其他 h 規範)

以 01 到 12 的數字來表示小時,也就是以 12 小時制來表示小時,從午夜或中午開始計算整點時數。午夜後的特定小時與下午的相同小時會難以區分。小時是不進位的,而且單一位數的小時會格式化為有前置零的數字。例如,假設時間為 5:43,則此格式規範會顯示 "05"。

下列範例會在自訂格式字串中加入 hh 自訂格式規範。

Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.

H

以 0 到 23 的數字來表示小時,也就是以 24 小時制來表示小時 (從零開始),從午夜開始計算時數。單一位數的小時會格式化為沒有前置零的數字。

如需使用單一格式規範的詳細資訊,請參閱使用單一自訂格式規範。

下列範例會在自訂格式字串中加入 H 自訂格式規範。

Dim date1 As Date = #6:09:01AM#
Console.WriteLine(date1.ToString("H:mm:ss", _
CultureInfo.InvariantCulture))
' Displays 6:09:01
DateTime date1 = new DateTime(2008, 1, 1, 6, 9, 1);
Console.WriteLine(date1.ToString("H:mm:ss",
CultureInfo.InvariantCulture));
// Displays 6:09:01

HH, HH (加上任何數目的其他 H 規範)

以 00 到 23 的數字來表示小時,也就是以 24 小時制來表示小時 (從零開始),從午夜開始計算時數。單一位數的小時會格式化為具有前置零的數字。下列範例會在自訂格式字串中加入 HH 自訂格式規範。

Dim date1 As Date = #6:09:01AM#
Console.WriteLine(date1.ToString("HH:mm:ss", _
CultureInfo.InvariantCulture))
' Displays 06:09:01
DateTime date1 = new DateTime(2008, 1, 1, 6, 9, 1);
Console.WriteLine(date1.ToString("HH:mm:ss",
CultureInfo.InvariantCulture));
// Displays 06:09:01

K

表示日期和時間值的時區資訊。與 DateTime 值搭配使用時,結果字串會由 DateTime.Kind 屬性的值定義。若為本地時區 (DateTimeKind.LocalDateTime.Kind 屬性值),此規範相當於 zzz 規範,所產生的結果字串會包含本地與 Coordinated Universal Time (UTC) 之間的時差,例如 "-07:00"。若為 UTC 時間 (DateTimeKind.UtcDateTime.Kind 屬性值),結果字串會包含 "Z" 字元來表示 UTC 日期。若為未指定時區的時間 (DateTime.Kind 屬性等於 DateTimeKind.Unspecified 的時間),結果就相當於 String.Empty。若為 DateTimeOffset 值,K 格式規範相當於 zz 格式規範,所產生的結果字串會包含 DateTimeOffset 值與 UTC 之間的時差。

如需使用單一格式規範的詳細資訊,請參閱使用單一自訂格式規範。

下列範例會顯示美國太平洋標準時間系統上,各種 DateTimeDateTimeOffset 值使用 K 自訂格式規範的結果字串。

Console.WriteLine(Date.Now.ToString("%K"))
' Displays -07:00
Console.WriteLine(Date.UtcNow.ToString("%K"))
' Displays Z
Console.WriteLine("'{0}'", _
Date.SpecifyKind(Date.Now, _
DateTimeKind.Unspecified). _
ToString("%K"))
' Displays ''
Console.WriteLine(DateTimeOffset.Now.ToString("%K"))
' Displays -07:00
Console.WriteLine(DateTimeOffset.UtcNow.ToString("%K"))
' Displays +00:00
Console.WriteLine(New DateTimeOffset(2008, 5, 1, 6, 30, 0, _
New TimeSpan(5, 0, 0)). _
ToString("%K"))
' Displays +05:00
Console.WriteLine(DateTime.Now.ToString("%K"));
// Displays -07:00
Console.WriteLine(DateTime.UtcNow.ToString("%K"));
// Displays Z
Console.WriteLine("'{0}'",
DateTime.SpecifyKind(DateTime.Now,
DateTimeKind.Unspecified).ToString("%K"));
// Displays ''
Console.WriteLine(DateTimeOffset.Now.ToString("%K"));
// Displays -07:00
Console.WriteLine(DateTimeOffset.UtcNow.ToString("%K"));
// Displays +00:00
Console.WriteLine(new DateTimeOffset(2008, 5, 1, 6, 30, 0,
new TimeSpan(5, 0, 0)).ToString("%K"));
// Displays +05:00

m

以 0 到 59 的數字來表示分鐘,分鐘表示過去一個小時內經過的完整分鐘數。單一位數的分鐘會格式化為沒有前置零的數字。如需使用單一格式規範的詳細資訊,請參閱使用單一自訂格式規範。下列範例會在自訂格式字串中加入 m 自訂格式規範。

Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5

mm, mm (加上任何數目的其他 m 規範)

以 00 到 59 的數字來表示分鐘,分鐘表示過去一個小時內經過的完整分鐘數。單一位數的分鐘會格式化為具有前置零的數字。下列範例會在自訂格式字串中加入 mm 自訂格式規範。

Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.

M

以 1 到 12 的數字代表月份,單一位數的月份會設定為沒有前置零的格式。如需使用單一格式規範的詳細資訊,請參閱使用單一自訂格式規範。下列範例會在自訂格式字串中加入 M 自訂格式規範。

Dim date1 As Date = #8/18/2008#
Console.WriteLine(date1.ToString("(M) MMM, MMMM", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays (8) Aug, August
Console.WriteLine(date1.ToString("(M) MMM, MMMM", _
CultureInfo.CreateSpecificCulture("nl-NL")))
' Displays (8) aug, augustus
Console.WriteLine(date1.ToString("(M) MMM, MMMM", _
CultureInfo.CreateSpecificCulture("lv-LV")))
' Displays (8) Aug, augusts
DateTime date1 = new DateTime(2008, 8, 18);
Console.WriteLine(date1.ToString("(M) MMM, MMMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays (8) Aug, August
Console.WriteLine(date1.ToString("(M) MMM, MMMM",
CultureInfo.CreateSpecificCulture("nl-NL")));
// Displays (8) aug, augustus
Console.WriteLine(date1.ToString("(M) MMM, MMMM",
CultureInfo.CreateSpecificCulture("lv-LV")));
// Displays (8) Aug, augusts

MM

以 01 到 12 的數字代表月份,單一位數的月份會設定為具有前置零的格式。下列範例會在自訂格式字串中加入 MM 自訂格式規範。

Dim date1 As Date = #1/2/2008 6:30:15AM#
Console.WriteLine(date1.ToString("dd, MM", _
CultureInfo.InvariantCulture))
' 02, 01
DateTime date1 = new DateTime(2008, 1, 2, 6, 30, 15);
Console.WriteLine(date1.ToString("dd, MM",
CultureInfo.InvariantCulture));
// 02, 01

MMM

表示月份的縮寫名稱,如目前 DateTimeFormatInfo.AbbreviatedMonthNames 屬性內所定義。下列範例會在自訂格式字串中加入 MMM 自訂格式規範。

Dim date1 As Date = #08/29/2008 7:27:15PM#
Console.WriteLine(date1.ToString("ddd d MMM", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays ven. 29 aot
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);
Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays ven. 29 aot

MMMM

表示月份的完整名稱,如目前 DateTimeFormatInfo.MonthNames 屬性內所定義。下列範例會在自訂格式字串中加入 MMMM 自訂格式規範。

Dim date1 As Date = #08/29/2008 7:27:15PM#
Console.WriteLine(date1.ToString("dddd dd MMMM", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM", _
CultureInfo.CreateSpecificCulture("it-IT")))
' Displays venerd 29 agosto
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);
Console.WriteLine(date1.ToString("dddd dd MMMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM",
CultureInfo.CreateSpecificCulture("it-IT")));
// Displays venerd 29 agosto

s

以 0 到 59 的數字來表示秒數,秒數表示過去一分鐘內經過的完整秒數。單一位數的秒數會格式化為沒有前置零的數字。如需使用單一格式規範的詳細資訊,請參閱使用單一自訂格式規範。下列範例會在自訂格式字串中加入 s 自訂格式規範。

Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5

ss, ss (加上任何數目的其他 s 規範)

以 00 到 59 的數字來表示秒數,秒數表示過去一分鐘內經過的完整秒數。單一位數的秒數會格式化為具有前置零的數字。下列範例會在自訂格式字串中加入 ss 自訂格式規範。

Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.

t

表示 AM/PM 指示項 (如目前 DateTimeFormatInfo.AMDesignatorDateTimeFormatInfo.PMDesignator 屬性中所定義) 的第一個字元。如果時間的時數格式化為小於 12 的數字,則會使用 AM 指示項,否則會使用 PM 指示項。如需使用單一格式規範的詳細資訊,請參閱使用單一自訂格式規範。

下列範例會在自訂格式字串中加入 t 自訂格式規範。

Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5

tt, tt (加上任何數目的其他 t 規範)

表示 AM/PM 指示項 (如目前 DateTimeFormatInfo.AMDesignatorDateTimeFormatInfo.PMDesignator 屬性中所定義)。如果時間的時數格式化為小於 12 的數字,則會使用 AM 指示項,否則會使用 PM 指示項。

若語言有需要區分 AM 和 PM,應用程式就應該確定使用 tt 規範。其中一個範例就是日文,在日文中,AM 和 PM 指示項是在第二個字元不同,而不是第一個字元。

下列範例會在自訂格式字串中加入 tt 自訂格式規範。

Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss.FF tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.

y

以一個或兩個位數的數字來表示年份。如果年份超過兩個位數,結果中只會出現兩個低位數字。如果兩位數年份的第一個數字以零開始 (例如 2008),則會格式化為沒有前置零的數字。如需使用單一格式規範的詳細資訊,請參閱使用單一自訂格式規範。

下列範例會在自訂格式字串中加入 y 自訂格式規範。

Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010
DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010

yy

以兩個位數的數字來表示年份。如果年份超過兩個位數,結果中只會出現兩個低位數字。如果兩位數年份少於兩個有效位數,則會以前置零填補此數字,以達到兩個位數。

下列範例會在自訂格式字串中加入 yy 自訂格式規範。

Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010
DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010

yyy

以至少三個位數的數字來表示年份。如果年份超過三個有效位數,它們會包含在結果字串中。如果年份少於三個位數,則會以前置零填補此數字,以達到三個位數。

請注意,如果是可使用五個位數之年份的泰國佛教曆法,此格式規範便會顯示所有的五個位數。

下列範例會在自訂格式字串中加入 yyy 自訂格式規範。

Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010
DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010

yyyy

以四個位數的數字來表示年份。如果年份超過四個位數,結果中只會出現四個低位數字。如果年份少於四個位數,則會以前置零填補此數字,以達到四個位數。

請注意,如果是可使用五個位數之年份的泰國佛教曆法,此格式規範便會包含所有的五個位數。

下列範例會在自訂格式字串中加入 yyyy 自訂格式規範。

Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010
DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010

yyyyy (加上任何數目的其他 y 規範)

以五個位數的數字來表示年份。如果年份超過五個位數,結果中只會出現五個低位數字。如果年份少於五個位數,則會以前置零填補此數字,以達到五個位數。

如果有其他的 y 規範,則會視需要以前置零填補此數字,使其達到 y 規範的數目。

下列範例會在自訂格式字串中加入 yyyyy 自訂格式規範。

Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010
DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010

z

搭配 DateTime 值使用時,表示本地作業系統的時區與 Coordinated Universal Time (UTC) 之間的時差 (帶正負號),以小時為單位。它不會反映執行個體的 Kind 屬性值。因此,z 格式規範並不建議與 DateTime 值搭配使用。

搭配 DateTimeOffset 值使用時,表示 DateTimeOffset 值與 UTC 之間的時差,以小時為單位。

顯示時差時,一定會有前置正負號。加號 (+) 表示 UTC 之前的時數,減號 (-) 則表示之後的時數。時差範圍從 –12 到 +13,單一位數的時差會格式化為沒有前置零的數字。如需使用單一格式規範的詳細資訊,請參閱使用單一自訂格式規範。下列範例會在自訂格式字串中加入 z 自訂格式規範。

Dim date1 As Date = Date.UtcNow
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
date1))
' Displays -7, -07, -07:00
Dim date2 As New DateTimeOffset(2008, 8, 1, 0, 0, 0, _
New Timespan(6, 0, 0))
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
date2))
' Displays +6, +06, +06:00
DateTime date1 = DateTime.UtcNow;
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
date1));
// Displays -7, -07, -07:00
DateTimeOffset date2 = new DateTimeOffset(2008, 8, 1, 0, 0, 0,
new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
date2));
// Displays +6, +06, +06:00

zz

搭配 DateTime 值使用時,表示本地作業系統的時區與 UTC 之間的時差 (帶正負號),以小時為單位。它不會反映執行個體的 Kind 屬性值。因此,zz 格式規範並不建議與 DateTime 值搭配使用。

搭配 DateTimeOffset 值使用時,表示 DateTimeOffset 值與 UTC 之間的時差,以小時為單位。

顯示時差時,一定會有前置正負號。加號 (+) 表示 UTC 之前的時數,減號 (-) 則表示之後的時數。時差範圍從 –12 到 +13,單一位數的時差會格式化為具有前置零的數字。下列範例會在自訂格式字串中加入 zz 自訂格式規範。

Dim date1 As Date = Date.UtcNow
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
date1))
' Displays -7, -07, -07:00
Dim date2 As New DateTimeOffset(2008, 8, 1, 0, 0, 0, _
New Timespan(6, 0, 0))
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
date2))
' Displays +6, +06, +06:00
DateTime date1 = DateTime.UtcNow;
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
date1));
// Displays -7, -07, -07:00
DateTimeOffset date2 = new DateTimeOffset(2008, 8, 1, 0, 0, 0,
new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
date2));
// Displays +6, +06, +06:00

zzz, zzz (加上任何數目的其他 z 規範)

搭配 DateTime 值使用時,表示本地作業系統的時區與 UTC 之間的時差 (帶正負號),以小時和分鐘為單位。它不會反映執行個體的 Kind 屬性值。因此,zzz 格式規範並不建議與 DateTime 值搭配使用。

搭配 DateTimeOffset 值使用時,表示 DateTimeOffset 值與 UTC 之間的時差,以小時和分鐘為單位。

顯示時差時,一定會有前置正負號。加號 (+) 表示 UTC 之前的時數,減號 (-) 則表示之後的時數。時差範圍從 –12 到 +13,單一位數的時差會格式化為具有前置零的數字。下列範例會在自訂格式字串中加入 zzz 自訂格式規範。

Dim date1 As Date = Date.UtcNow
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
date1))
' Displays -7, -07, -07:00
Dim date2 As New DateTimeOffset(2008, 8, 1, 0, 0, 0, _
New Timespan(6, 0, 0))
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
date2))
' Displays +6, +06, +06:00
DateTime date1 = DateTime.UtcNow;
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
date1));
// Displays -7, -07, -07:00
DateTimeOffset date2 = new DateTimeOffset(2008, 8, 1, 0, 0, 0,
new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
date2));
// Displays +6, +06, +06:00

:

表示目前 DateTimeFormatInfo.TimeSeparator 屬性中所定義的時間分隔符號。此分隔符號可用來分隔小時、分鐘和秒數。

/

表示目前 DateTimeFormatInfo.DateSeparator 屬性中所定義的日期分隔符號。此分隔符號可用來分隔年、月和日。

"

表示括住的字串 (引號)。顯示在兩個引號 (") 之間的任何字串的常值,您的應用程式應該在每個引號前面搭配一個逸出字元 (Escape Character) (\)。

'

表示括住的字串 (所有格符號)。顯示在兩個縮寫符號 (') 字元之間的任何字串的常值。

%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" 的前面有逸出字元 (\) 字元時,會將它顯示為常值 (Literal)。若要在結果字串內插入反斜線字元本身,應用程式應該使用兩個逸出字元 ("\\")。

任意字元

將任何其他字元複製到結果字串,而不影響格式。

控制台設定值

[控制台] 中的地區和語言選項設定會影響格式化作業 (其中包含許多自訂日期和時間格式規範) 所產生的結果字串。這些設定是用來初始化與目前執行緒文化特性 (Culture) 相關的 DateTimeFormatInfo 物件,該物件會提供用來管理格式的值。使用不同設定的電腦會產生不同的結果字串。

此外,如果 CultureInfo.CultureInfo(String) 建構函式用來將新的 CultureInfo 物件具現化,而此物件代表的文化特性與目前系統文化特性相同,則 [控制台] 中的 [區域及語言選項] 項目所建立之任何自訂都會套用至 CultureInfo 物件。CreateSpecificCulture 方法可用來建立未反映系統自訂的 CultureInfo 物件。

DateTimeFormatInfo 屬性

格式會受到目前 DateTimeFormatInfo 物件的影響,而此物件是由目前執行緒文化特性隱含提供或由叫用格式之方法的 IFormatProvider 參數明確提供。您的應用程式應針對 IFormatProvider 參數指定代表文化特性的 CultureInfo 物件或是指定 DateTimeFormatInfo 物件。

許多自訂日期和時間格式規範所產生的結果字串取決於目前 DateTimeFormatInfo 物件的屬性。您的應用程式可以變更對應的 DateTimeFormatInfo 屬性,藉此改變某些自訂日期和時間格式規範所產生的結果。例如,ddd 格式規範會將 AbbreviatedDayNames 字串陣列中找到的縮寫星期日期名稱加到結果字串。同樣地,MMMM 格式規範會將 MonthNames 字串陣列中找到的完整月份名稱加到結果字串。

使用單一自訂格式規範

自訂日期和時間格式字串是由兩個或多個字元所組成。例如,如果格式字串僅由規範 h 所組成,則此格式字串會解譯為標準的日期和時間格式規範。不過,在這種特定情形下會擲回例外狀況,因為並沒有 h 標準日期和時間格式規範。

若要使用單一自訂日期和時間格式規範,請在日期和時間規範之前或之後包含一個空格,或在單一自訂日期和時間規範之前包含一個百分比 (%) 格式規範。例如,格式字串 "h " 和 "%h" 會解譯為自訂日期和時間格式字串,該字串會顯示由目前日期和時間值所代表的小時。請注意,如果使用了空格,它在結果字串中會以常值字元的形式出現。

請參閱

概念

標準日期和時間格式字串

參考

System.DateTime

System.IFormatProvider

其他資源

格式化型別