DateTimeOffset.ToString 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將目前 DateTimeOffset 物件的值,轉換為其相等的字串表示。
多載
ToString() |
將目前 DateTimeOffset 物件的值,轉換為其相等的字串表示。 |
ToString(IFormatProvider) |
使用指定的文化特性特定格式資訊,將目前 DateTimeOffset 物件的值轉換為其對等字串表示。 |
ToString(String) |
使用指定的格式,將目前 DateTimeOffset 物件的值,轉換為其相等字串表示。 |
ToString(String, IFormatProvider) |
使用指定的格式和特定文化特性的格式資訊,將目前 DateTimeOffset 物件的值,轉換為其相等的字串表示。 |
ToString()
將目前 DateTimeOffset 物件的值,轉換為其相等的字串表示。
public:
override System::String ^ ToString();
public override string ToString ();
override this.ToString : unit -> string
Public Overrides Function ToString () As String
傳回
包含附加至字串尾端之位移的 DateTimeOffset 物件之字串表示。
例外狀況
日期和時間超出目前文化特性使用之曆法所支援的日期範圍。
範例
下列範例說明對 方法的 ToString() 呼叫,並在目前文化特性為 en-us 的系統上顯示其輸出。
DateTimeOffset thisDate;
// Show output for UTC time
thisDate = DateTimeOffset.UtcNow;
Console.WriteLine(thisDate.ToString()); // Displays 3/28/2007 7:13:50 PM +00:00
// Show output for local time
thisDate = DateTimeOffset.Now;
Console.WriteLine(thisDate.ToString()); // Displays 3/28/2007 12:13:50 PM -07:00
// Show output for arbitrary time offset
thisDate = thisDate.ToOffset(new TimeSpan(-5, 0, 0));
Console.WriteLine(thisDate.ToString()); // Displays 3/28/2007 2:13:50 PM -05:00
// Show output for UTC time
let thisDate = DateTimeOffset.UtcNow
printfn $"{thisDate.ToString()}" // Displays 3/28/2007 7:13:50 PM +00:00
// Show output for local time
let thisDate = DateTimeOffset.Now
printfn $"{thisDate.ToString()}" // Displays 3/28/2007 12:13:50 PM -07:00
// Show output for arbitrary time offset
let thisDate = thisDate.ToOffset(TimeSpan(-5, 0, 0))
printfn $"{thisDate.ToString()}" // Displays 3/28/2007 2:13:50 PM -05:00
Dim thisDate As DateTimeOffset
' Show output for UTC time
thisDate = DateTimeOffset.UtcNow
Console.WriteLine(thisDate.ToString()) ' Displays 3/28/2007 7:13:50 PM +00:00
' Show output for local time
thisDate = DateTimeOffset.Now
Console.WriteLine(thisDate.ToString()) ' Displays 3/28/2007 12:13:50 PM -07:00
' Show output for arbitrary time offset
thisDate = thisDate.ToOffset(new TimeSpan(-5, 0, 0))
Console.WriteLine(thisDate.ToString()) ' Displays 3/28/2007 2:13:50 PM -05:00
備註
這個方法的傳回值與 方法的傳回值相同 DateTime.ToString() ,不同之處在于它包含空格,後面接著附加在字串結尾的位移。 換句話說,它會使用簡短日期模式、長時間模式和 zzz
自訂格式字串來格式化輸出,每個元素都會以空格分隔前一個專案。 例如,如果 DateTime.ToString() 傳回 1/12/2008 6:15:50 PM 的值, ToString() 則會傳回 1/12/2008 6:15:50 PM -08:00 的值,表示 2008 年 8 月 8 日後的時間 (UTC) 。
這個方法會使用衍生自目前文化特性的格式資訊。 如需詳細資訊,請參閱CurrentCulture。 方法的其他多載 ToString 可讓您指定要使用其格式的文化特性,以及定義值的輸出模式 DateTimeOffset 。
給呼叫者的注意事項
方法會 ToString() 傳回目前文化特性所使用行事曆中日期和時間的字串表示。 如果目前 DateTimeOffset 實例的值早于 MinSupportedDateTime 或晚于 MaxSupportedDateTime ,方法會 ArgumentOutOfRangeException 擲回 。 下列範例提供說明。 當目前文化特性是阿拉伯文 (阿拉伯文) 時,它會嘗試格式化超出 類別範圍的 HijriCalendar 日期。
:::code language=「csharp」 source=「~/snippets/csharp/System/DateTimeOffset/ToString/datetimeoffset.tostring.argumentoutofrangeexception2.cs」 id=「Snippet2」::: :::code language=「fsharp」 source=「~/snippets/fsharp/VS_Snippets_CLR_System/system.datetimeoffset.tostring.argumentoutofrangeexception/fs/datetimeoffset.tostring.argumentoutofrangeexception2.fs」 id=「Snippet2」::::code language=「vb」 source=「~/snippets/visualbasic/VS_Snippets_CLR_System/system.datetimeoffset.tostring.argumentoutofrangeexception/vb/datetimeoffset.tostring.argumentoutofrangeexception2.vb「 id=」Snippet2「::
適用於
ToString(IFormatProvider)
使用指定的文化特性特定格式資訊,將目前 DateTimeOffset 物件的值轉換為其對等字串表示。
public:
System::String ^ ToString(IFormatProvider ^ formatProvider);
public string ToString (IFormatProvider formatProvider);
public string ToString (IFormatProvider? formatProvider);
override this.ToString : IFormatProvider -> string
Public Function ToString (formatProvider As IFormatProvider) As String
參數
- formatProvider
- IFormatProvider
物件,提供特定文化特性格式資訊。
傳回
目前 DateTimeOffset 物件值的字串表示 (如 formatProvider
所指定)。
例外狀況
日期和時間超出 formatProvider
使用之曆法所支援的日期範圍。
範例
下列範例會使用 CultureInfo 代表不變異文化特性的物件,以及四個其他文化特性來顯示 DateTimeOffset 物件。
CultureInfo[] cultures = new CultureInfo[] {CultureInfo.InvariantCulture,
new CultureInfo("en-us"),
new CultureInfo("fr-fr"),
new CultureInfo("de-DE"),
new CultureInfo("es-ES")};
DateTimeOffset thisDate = new DateTimeOffset(2007, 5, 1, 9, 0, 0,
TimeSpan.Zero);
foreach (CultureInfo culture in cultures)
{
string cultureName;
if (string.IsNullOrEmpty(culture.Name))
cultureName = culture.NativeName;
else
cultureName = culture.Name;
Console.WriteLine("In {0}, {1}",
cultureName, thisDate.ToString(culture));
}
// The example produces the following output:
// In Invariant Language (Invariant Country), 05/01/2007 09:00:00 +00:00
// In en-US, 5/1/2007 9:00:00 AM +00:00
// In fr-FR, 01/05/2007 09:00:00 +00:00
// In de-DE, 01.05.2007 09:00:00 +00:00
// In es-ES, 01/05/2007 9:00:00 +00:00
let cultures =
[| CultureInfo.InvariantCulture
CultureInfo "en-us"
CultureInfo "fr-fr"
CultureInfo "de-DE"
CultureInfo "es-ES" |]
let thisDate = DateTimeOffset(2007, 5, 1, 9, 0, 0, TimeSpan.Zero)
for culture in cultures do
let cultureName =
if String.IsNullOrEmpty culture.Name then
culture.NativeName
else
culture.Name
printfn $"In {cultureName}, {thisDate.ToString culture}"
// The example produces the following output:
// In Invariant Language (Invariant Country), 05/01/2007 09:00:00 +00:00
// In en-US, 5/1/2007 9:00:00 AM +00:00
// In fr-FR, 01/05/2007 09:00:00 +00:00
// In de-DE, 01.05.2007 09:00:00 +00:00
// In es-ES, 01/05/2007 9:00:00 +00:00
Dim cultures() As CultureInfo = {CultureInfo.InvariantCulture, _
New CultureInfo("en-us"), _
New CultureInfo("fr-fr"), _
New CultureInfo("de-DE"), _
New CultureInfo("es-ES")}
Dim thisDate As New DateTimeOffset(#5/1/2007 9:00AM#, TimeSpan.Zero)
For Each culture As CultureInfo In cultures
Dim cultureName As String
If String.IsNullOrEmpty(culture.Name) Then
cultureName = culture.NativeName
Else
cultureName = culture.Name
End If
Console.WriteLine("In {0}, {1}", _
cultureName, thisDate.ToString(culture))
Next
' The example produces the following output:
' In Invariant Language (Invariant Country), 05/01/2007 09:00:00 +00:00
' In en-US, 5/1/2007 9:00:00 AM +00:00
' In fr-FR, 01/05/2007 09:00:00 +00:00
' In de-DE, 01.05.2007 09:00:00 +00:00
' In es-ES, 01/05/2007 9:00:00 +00:00
備註
這個方法的傳回值與其對等方法多載 DateTime.ToString 的傳回值相同,不同之處在于它包含空格,後面接著附加在字串結尾的位移。 換句話說,它會使用簡短日期模式、長時間模式和 zzz
自訂格式字串來格式化輸出,每個元素都會以空格分隔前一個專案。
這三個元素的格式是由 formatProvider
參數所定義。 參數 formatProvider
可以是下列其中一項:
CultureInfo物件,表示格式慣例套用至傳回字串的文化特性。 屬性 DateTimeFormatInfo 所 CultureInfo.DateTimeFormat 傳回的物件會定義傳回字串的格式。
DateTimeFormatInfo物件,定義日期和時間資料的格式。
如果 formatProvider
為 null
,則會 DateTimeFormatInfo 使用與目前文化特性相關聯的物件, (請參閱 CurrentCulture) 。
給呼叫者的注意事項
方法 ToString(IFormatProvider) 會傳回參數所代表文化特性所使用之行事曆中日期和時間的 formatProvider
字串表示。 其行事曆是由 屬性所 Calendar 定義。 如果目前 DateTimeOffset 實例的值早于 MinSupportedDateTime 或晚于 MaxSupportedDateTime ,則方法會擲回 ArgumentOutOfRangeException 。 下列範例提供說明。 它會嘗試格式化超出 類別範圍的 JapaneseCalendar 日期。
:::code language=「csharp」 source=「~/snippets/csharp/System/DateTimeOffset/ToString/datetimeoffset.tostring.argumentoutofrangeexception1.cs」 interactive=「try-dotnet」 id=「Snippet1」::: :::code language=「fsharp」 source=「~/snippets/fsharp/VS_Snippets_CLR_System/system.datetimeoffset.tostring.argumentoutofrangeexception/fs/datetimeoffset.tostring.argumentoutofrangeexception1.fs」 id=「Snippet1」::::code language=「vb」 source=「~/snippets/visualbasic/VS_Snippets_CLR_System/system.datetimeoffset.tostring.argumentoutofrangeexception/vb/datetimeoffset.tostring.argumentoutofrangeexception1.vb「 id=」Snippet1「::
適用於
ToString(String)
使用指定的格式,將目前 DateTimeOffset 物件的值,轉換為其相等字串表示。
public:
System::String ^ ToString(System::String ^ format);
public string ToString (string format);
public string ToString (string? format);
override this.ToString : string -> string
Public Function ToString (format As String) As String
參數
- format
- String
格式字串。
傳回
目前 DateTimeOffset 物件值的字串表示 (如 format
所指定)。
例外狀況
日期和時間超出目前文化特性使用之曆法所支援的日期範圍。
範例
下列範例會使用每個標準日期和時間格式規範,向主控台顯示 DateTimeOffset 物件。 輸出會使用 en-us 文化特性來格式化。
DateTimeOffset outputDate = new DateTimeOffset(2007, 10, 31, 21, 0, 0,
new TimeSpan(-8, 0, 0));
string specifier;
// Output date using each standard date/time format specifier
specifier = "d";
// Displays d: 10/31/2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "D";
// Displays D: Wednesday, October 31, 2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "t";
// Displays t: 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "T";
// Displays T: 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "f";
// Displays f: Wednesday, October 31, 2007 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "F";
// Displays F: Wednesday, October 31, 2007 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "g";
// Displays g: 10/31/2007 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "G";
// Displays G: 10/31/2007 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "M"; // 'm' is identical
// Displays M: October 31
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "R"; // 'r' is identical
// Displays R: Thu, 01 Nov 2007 05:00:00 GMT
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "s";
// Displays s: 2007-10-31T21:00:00
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "u";
// Displays u: 2007-11-01 05:00:00Z
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
// Specifier is not supported
specifier = "U";
try
{
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
}
catch (FormatException)
{
Console.WriteLine("{0}: Not supported.", specifier);
}
specifier = "Y"; // 'y' is identical
// Displays Y: October, 2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
let outputDate = DateTimeOffset(2007, 10, 31, 21, 0, 0, TimeSpan(-8, 0, 0))
// Output date using each standard date/time format specifier
let specifier = "d"
// Displays d: 10/31/2007
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "D"
// Displays D: Wednesday, October 31, 2007
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "t"
// Displays t: 9:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "T"
// Displays T: 9:00:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "f"
// Displays f: Wednesday, October 31, 2007 9:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "F"
// Displays F: Wednesday, October 31, 2007 9:00:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "g"
// Displays g: 10/31/2007 9:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "G"
// Displays G: 10/31/2007 9:00:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "M" // 'm' is identical
// Displays M: October 31
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "R" // 'r' is identical
// Displays R: Thu, 01 Nov 2007 05:00:00 GMT
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "s"
// Displays s: 2007-10-31T21:00:00
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "u"
// Displays u: 2007-11-01 05:00:00Z
printfn $"{specifier}: {outputDate.ToString specifier}"
// Specifier is not supported
let specifier = "U"
try
printfn $"{specifier}: {outputDate.ToString specifier}"
with :? FormatException ->
printfn $"{specifier}: Not supported."
let specifier = "Y" // 'y' is identical
// Displays Y: October, 2007
printfn $"{specifier}: {outputDate.ToString specifier}"
Dim outputDate As New DateTimeOffset(#10/31/2007 9:00PM#, _
New TimeSpan(-8, 0, 0))
Dim specifier As String
' Output date using each standard date/time format specifier
specifier = "d"
' Displays d: 10/31/2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "D"
' Displays D: Wednesday, October 31, 2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "t"
' Displays t: 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "T"
' Displays T: 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "f"
' Displays f: Wednesday, October 31, 2007 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "F"
' Displays F: Wednesday, October 31, 2007 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "g"
' Displays g: 10/31/2007 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "G"
' Displays G: 10/31/2007 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "M" ' 'm' is identical
' Displays M: October 31
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "R" ' 'r' is identical
' Displays R: Thu, 01 Nov 2007 05:00:00 GMT
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "s"
' Displays s: 2007-10-31T21:00:00
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "u"
' Displays u: 2007-11-01 05:00:00Z
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
' Specifier is not supported
specifier = "U"
Try
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
Catch e As FormatException
Console.WriteLine("{0}: Not supported.", specifier)
End Try
specifier = "Y" ' 'y' is identical
' Displays Y: October, 2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
備註
參數 format
應包含單一格式規範字符 (請參閱 標準日期和時間格式字串) 或自訂格式模式, (請參閱自訂 日期和時間格式字串) ,以定義傳回字串的格式。 如果 format
為 null 或空字串 (「」「) ,則會 DateTimeOffset 使用預設格式輸出值。
下表顯示搭配 DateTimeOffset 使用 時特定格式規範的確切作業,這與搭配 使用 DateTime 時的行為不同。
現有的格式規範 | 新的行為 |
---|---|
"K" | 設計來回日期和時間。 使用 DateTimeOffset 時,對應至 「zzz」 (位移一律會以小時和分鐘) 顯示。 請注意,「K」 是自訂格式規範;它不能顯示為 中的 format 單一字元。 |
"U" | 不支援。 |
「r」 | 將 DateTimeOffset 物件轉換成國際標準時間 (UTC) ,並使用自訂格式字串 ddd, dd MMM yyyy HH:mm:ss GMT 輸出它。 |
"u" | 將 DateTimeOffset 物件轉換成 UTC,並使用 格式 yyyy-MM-dd HH:mm:ssZ 輸出它。 |
其餘的標準日期和時間格式規範與 方法 ToString 的行為相同 ToString(String) 。
這個方法使用衍生自目前文化特性的格式資訊。 如需詳細資訊,請參閱CurrentCulture。
給呼叫者的注意事項
方法 ToString(String) 會傳回目前文化特性所使用行事曆中日期和時間的字串表示。 如果目前 DateTimeOffset 實例的值早于 MinSupportedDateTime 或晚于 MaxSupportedDateTime ,則方法會擲回 ArgumentOutOfRangeException 。 下列範例提供說明。 當目前文化特性是希伯來文 (以色列) 時,它會嘗試格式化超出類別範圍的 HebrewCalendar 日期。
:::code language=「csharp」 source=「~/snippets/csharp/System/DateTimeOffset/ToString/datetimeoffset.tostring.argumentoutofrangeexception3.cs」 interactive=「try-dotnet」 id=「Snippet3」::: :::code language=「fsharp」 source=「~/snippets/fsharp/VS_Snippets_CLR_System/system.datetimeoffset.tostring.argumentoutofrangeexception/fs/datetimeoffset.tostring.argumentoutofrangeexception3.fs」 id=「Snippet3」:::code language=「vb」 source=「~/snippets/visualbasic/VS_Snippets_CLR_System/system.datetimeoffset.tostring.argumentoutofrangeexception/vb/datetimeoffset.tostring.argumentoutofrangeexception3.vb「 id=」Snippet3「::
另請參閱
適用於
ToString(String, IFormatProvider)
使用指定的格式和特定文化特性的格式資訊,將目前 DateTimeOffset 物件的值,轉換為其相等的字串表示。
public:
virtual System::String ^ ToString(System::String ^ format, IFormatProvider ^ formatProvider);
public string ToString (string format, IFormatProvider formatProvider);
public string ToString (string? format, IFormatProvider? formatProvider);
override this.ToString : string * IFormatProvider -> string
Public Function ToString (format As String, formatProvider As IFormatProvider) As String
參數
- format
- String
格式字串。
- formatProvider
- IFormatProvider
物件,提供特定文化特性格式資訊。
傳回
目前 DateTimeOffset 物件值的字串表示,如 format
及 provider
所指定。
實作
例外狀況
日期和時間超出 formatProvider
使用之曆法所支援的日期範圍。
範例
下列範例會 ToString(String, IFormatProvider) 使用 方法,針對數個不同的文化特性,使用自訂格式字串來顯示 DateTimeOffset 物件。
DateTimeOffset outputDate = new DateTimeOffset(2007, 11, 1, 9, 0, 0,
new TimeSpan(-7, 0, 0));
string format = "dddd, MMM dd yyyy HH:mm:ss zzz";
// Output date and time using custom format specification
Console.WriteLine(outputDate.ToString(format, null as DateTimeFormatInfo));
Console.WriteLine(outputDate.ToString(format, CultureInfo.InvariantCulture));
Console.WriteLine(outputDate.ToString(format,
new CultureInfo("fr-FR")));
Console.WriteLine(outputDate.ToString(format,
new CultureInfo("es-ES")));
// The example displays the following output to the console:
// Thursday, Nov 01 2007 09:00:00 -07:00
// Thursday, Nov 01 2007 09:00:00 -07:00
// jeudi, nov. 01 2007 09:00:00 -07:00
// jueves, nov 01 2007 09:00:00 -07:00
let outputDate = DateTimeOffset(2007, 11, 1, 9, 0, 0, TimeSpan(-7, 0, 0))
let format = "dddd, MMM dd yyyy HH:mm:ss zzz"
// Output date and time using custom format specification
printfn $"{outputDate.ToString(format, null)}"
printfn $"{outputDate.ToString(format, CultureInfo.InvariantCulture)}"
printfn $"""{outputDate.ToString(format, CultureInfo "fr-FR")}"""
printfn $"""{outputDate.ToString(format, CultureInfo "es-ES")}"""
// The example displays the following output to the console:
// Thursday, Nov 01 2007 09:00:00 -07:00
// Thursday, Nov 01 2007 09:00:00 -07:00
// jeudi, nov. 01 2007 09:00:00 -07:00
// jueves, nov 01 2007 09:00:00 -07:00
Dim outputDate As New DateTimeOffset(#11/1/2007 9:00AM#, _
New TimeSpan(-7, 0, 0))
Dim format As String = "dddd, MMM dd yyyy HH:mm:ss zzz"
' Output date and time using custom format specification
Console.WriteLine(outputDate.ToString(format, Nothing))
Console.WriteLine(outputDate.ToString(format, CultureInfo.InvariantCulture))
Console.WriteLine(outputDate.ToString(format, _
New CultureInfo("fr-FR")))
Console.WriteLine(outputDate.ToString(format, _
New CultureInfo("es-ES")))
' The example displays the following output to the console:
' Thursday, Nov 01 2007 09:00:00 -07:00
' Thursday, Nov 01 2007 09:00:00 -07:00
' jeudi, nov. 01 2007 09:00:00 -07:00
' jueves, nov 01 2007 09:00:00 -07:00
備註
參數 format
應包含單一格式規範字符 (請參閱 標準日期和時間格式字串) 或自訂格式模式, (請參閱 自訂日期和時間格式字串) 。 如果 format
是 null 或空字串 (「」) ,則會 DateTimeOffset 使用預設格式輸出物件。
下表顯示搭配 DateTimeOffset 使用 時特定格式規範的確切作業,這與搭配 使用 DateTime 時的行為不同。
現有的格式規範 | 新的行為 |
---|---|
"K" | 設計來回日期和時間。 使用 DateTimeOffset 時,對應至 「zzz」 (位移一律會以小時和分鐘) 顯示。 請注意,「K」 是自訂格式規範;它不能顯示為 中的 format 單一字元。 |
"U" | 不支援。 |
「r」 | 將 DateTimeOffset 物件轉換成國際標準時間 (UTC) ,並使用自訂格式字串 ddd, dd MMM yyyy HH:mm:ss GMT 輸出它。 |
"u" | 將 DateTimeOffset 值轉換為 UTC,並使用 格式 yyyy-MM-dd HH:mm:ssZ 輸出它。 |
其餘的標準日期和時間格式規範與 方法 ToString 的行為相同 ToString(String) 。
對應至標準格式規範以及日期和時間元件的符號和名稱的模式是由 參數所 formatProvider
定義。 參數 formatProvider
可以是下列其中一項:
CultureInfo物件,表示在 中使用
input
格式設定的文化特性。 屬性 DateTimeFormatInfo 所傳 CultureInfo.DateTimeFormat 回的物件會定義 中使用的input
格式設定。DateTimeFormatInfo物件,定義日期和時間資料的格式。
如果 formatProvider
為 null
,則會 DateTimeFormatInfo 使用與目前文化特性相關聯的物件, (請參閱 CurrentCulture) 。
給呼叫者的注意事項
方法 ToString(String, IFormatProvider) 會傳回 參數所使用行事曆中日期和時間的 formatProvider
字串表示。 其行事曆是由 屬性所 Calendar 定義。 如果目前 DateTimeOffset 實例的值早于 MinSupportedDateTime 或晚于 MaxSupportedDateTime ,則方法會擲回 ArgumentOutOfRangeException 。 下列範例提供說明。 它會嘗試格式化超出 類別範圍的 UmAlQuraCalendar 日期。
:::code language=「csharp」 source=「~/snippets/csharp/System/DateTimeOffset/ToString/datetimeoffset.tostring.argumentoutofrangeexception4.cs」 id=「Snippet4」::: :::code language=「fsharp」 source=「~/snippets/fsharp/VS_Snippets_CLR_System/system.datetimeoffset.tostring.argumentoutofrangeexception/fs/datetimeoffset.tostring.argumentoutofrangeexception4.fs」 id=「Snippet4」:::code language=「vb」 source=「~/snippets/visualbasic/VS_Snippets_CLR_System/system.datetimeoffset.tostring.argumentoutofrangeexception/vb/datetimeoffset.tostring.argumentoutofrangeexception4.vb「 id=」Snippet4「::
另請參閱
- 標準日期和時間格式字串
- 自訂日期和時間格式字串
- Sample: .NET Core WinForms Formatting Utility (C#) (範例:.NET Core WinForms 格式化公用程式 (C#))
- Sample: .NET Core WinForms Formatting Utility (Visual Basic) (範例:.NET Core WinForms 格式化公用程式 (Visual Basic))