DateTimeOffset.ToString Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Konvertiert den Wert des aktuellen DateTimeOffset-Objekts in die entsprechende Zeichenfolgendarstellung.
Überlädt
ToString() |
Konvertiert den Wert des aktuellen DateTimeOffset-Objekts in die entsprechende Zeichenfolgendarstellung. |
ToString(IFormatProvider) |
Konvertiert den Wert des aktuellen DateTimeOffset-Objekts unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung. |
ToString(String) |
Konvertiert den Wert des aktuellen DateTimeOffset-Objekts unter Verwendung des angegebenen Formats in die entsprechende Zeichenfolgendarstellung. |
ToString(String, IFormatProvider) |
Konvertiert den Wert des aktuellen DateTimeOffset-Objekts unter Verwendung des angegebenen Formats sowie der kulturabhängigen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung. |
ToString()
- Quelle:
- DateTimeOffset.cs
- Quelle:
- DateTimeOffset.cs
- Quelle:
- DateTimeOffset.cs
Konvertiert den Wert des aktuellen DateTimeOffset-Objekts in die entsprechende Zeichenfolgendarstellung.
public:
override System::String ^ ToString();
public override string ToString ();
override this.ToString : unit -> string
Public Overrides Function ToString () As String
Gibt zurück
Eine Zeichenfolgendarstellung eines DateTimeOffset-Objekts, die den am Ende der Zeichenfolge angefügten Offset einschließt.
Ausnahmen
Datum und Uhrzeit liegen außerhalb des Bereichs von Datumsangaben, die von dem Kalender unterstützt werden, der von der aktuellen Kultur verwendet wird.
Beispiele
Das folgende Beispiel veranschaulicht Aufrufe der ToString() -Methode und zeigt deren Ausgabe auf einem System an, dessen aktuelle Kultur en-us ist.
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
Hinweise
Der Rückgabewert dieser Methode ist identisch mit dem DateTime.ToString() der -Methode, mit der Ausnahme, dass er ein Leerzeichen enthält, gefolgt von dem Offset, der am Ende der Zeichenfolge angefügt ist. Anders ausgedrückt: Die Ausgabe wird mit dem kurzen Datumsmuster, dem Langen Zeitmuster und der zzz
benutzerdefinierten Formatzeichenfolge formatiert, wobei jedes Element durch ein Leerzeichen vom vorherigen Element getrennt ist. Wenn DateTime.ToString() beispielsweise den Wert 12.01.2008 18:15:50 Zurückgibt, ToString() gibt den Wert 12.01.2008 18:15:50 –08:00 für eine Zeit zurück, die acht Stunden hinter koordinierter Weltzeit (UTC) liegt.
Diese Methode verwendet Formatierungsinformationen, die aus der aktuellen Kultur abgeleitet werden. Weitere Informationen finden Sie unter CurrentCulture. Mit anderen Überladungen der ToString -Methode können Sie die Kultur angeben, deren Formatierung verwendet werden soll, und das Ausgabemuster des DateTimeOffset Werts definieren.
Hinweise für Aufrufer
Die ToString() -Methode gibt die Zeichenfolgendarstellung des Datums und der Uhrzeit im Kalender zurück, der von der aktuellen Kultur verwendet wird. Wenn der Wert der aktuellen DateTimeOffset Instanz vor MinSupportedDateTime oder höher als MaxSupportedDateTimeliegt, löst die -Methode einen aus ArgumentOutOfRangeException. Dies wird im folgenden Beispiel veranschaulicht. Es versucht, ein Datum zu formatieren, das außerhalb des Bereichs der HijriCalendar Klasse liegt, wenn die aktuelle Kultur Arabisch (Syrien) ist.
using System;
using System.Globalization;
using System.Threading;
public class Example
{
public static void Main()
{
DateTimeOffset date1 = new DateTimeOffset(new DateTime(550, 1, 1),
TimeSpan.Zero);
CultureInfo dft;
CultureInfo arSY = new CultureInfo("ar-SY");
arSY.DateTimeFormat.Calendar = new HijriCalendar();
// Change current culture to ar-SY.
dft = Thread.CurrentThread.CurrentCulture;
Thread.CurrentThread.CurrentCulture = arSY;
// Display the date using the current culture's calendar.
try {
Console.WriteLine(date1.ToString());
}
catch (ArgumentOutOfRangeException) {
Console.WriteLine("{0} is earlier than {1} or later than {2}",
date1.ToString("d", CultureInfo.InvariantCulture),
arSY.DateTimeFormat.Calendar.MinSupportedDateTime.ToString("d", CultureInfo.InvariantCulture),
arSY.DateTimeFormat.Calendar.MaxSupportedDateTime.ToString("d", CultureInfo.InvariantCulture));
}
// Restore the default culture.
Thread.CurrentThread.CurrentCulture = dft;
}
}
// The example displays the following output:
// 01/01/0550 is earlier than 07/18/0622 or later than 12/31/9999
open System
open System.Globalization
open System.Threading
let date1 = DateTimeOffset(DateTime(550, 1, 1), TimeSpan.Zero)
let arSY = CultureInfo "ar-SY"
arSY.DateTimeFormat.Calendar <- HijriCalendar()
// Change current culture to ar-SY.
let dft = Thread.CurrentThread.CurrentCulture
Thread.CurrentThread.CurrentCulture <- arSY
// Display the date using the current culture's calendar.
try
printfn $"{date1}"
with :? ArgumentOutOfRangeException ->
printfn $"""{date1.ToString("d", CultureInfo.InvariantCulture)} is earlier than {arSY.DateTimeFormat.Calendar.MinSupportedDateTime.ToString("d", CultureInfo.InvariantCulture)} or later than {arSY.DateTimeFormat.Calendar.MaxSupportedDateTime.ToString("d", CultureInfo.InvariantCulture)}"""
// Restore the default culture.
Thread.CurrentThread.CurrentCulture <- dft
// The example displays the following output:
// 01/01/0550 is earlier than 07/18/0622 or later than 12/31/9999
Imports System.Globalization
Imports System.Threading
Module Example
Public Sub Main()
Dim date1 As New DateTimeOffset(#1/1/550#, TimeSpan.Zero)
Dim dft As CultureInfo
Dim arSY As New CultureInfo("ar-SY")
arSY.DateTimeFormat.Calendar = New HijriCalendar()
' Change current culture to ar-SY.
dft = Thread.CurrentThread.CurrentCulture
Thread.CurrentThread.CurrentCulture = arSY
' Display the date using the current culture's calendar.
Try
Console.WriteLine(date1.ToString())
Catch e As ArgumentOutOfRangeException
Console.WriteLine("{0} is earlier than {1:d} or later than {2:d}", _
date1.ToString("d", CultureInfo.InvariantCulture), _
arSY.DateTimeFormat.Calendar.MinSupportedDateTime.ToString("d", CultureInfo.InvariantCulture), _
arSY.DateTimeFormat.Calendar.MaxSupportedDateTime.ToString("d", CultureInfo.InvariantCulture))
End Try
' Restore the default culture.
Thread.CurrentThread.CurrentCulture = dft
End Sub
End Module
' The example displays the following output:
' 01/01/0550 is earlier than 07/18/0622 or later than 12/31/9999
Gilt für:
ToString(IFormatProvider)
- Quelle:
- DateTimeOffset.cs
- Quelle:
- DateTimeOffset.cs
- Quelle:
- DateTimeOffset.cs
Konvertiert den Wert des aktuellen DateTimeOffset-Objekts unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.
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
Parameter
- formatProvider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.
Gibt zurück
Die Zeichenfolgendarstellung des Werts des aktuellen DateTimeOffset-Objekts entsprechend den Angaben in formatProvider
.
Ausnahmen
Datum und Uhrzeit liegen außerhalb des Bereichs von Datumsangaben, die vom Kalender unterstützt werden, der von formatProvider
verwendet wird.
Beispiele
Im folgenden Beispiel wird ein DateTimeOffset -Objekt mit CultureInfo Objekten angezeigt, die die invariante Kultur sowie vier weitere Kulturen darstellen.
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
Hinweise
Der Rückgabewert dieser Methode ist identisch mit der entsprechenden Überladung der -Methode, mit der DateTime.ToString Ausnahme, dass sie ein Leerzeichen gefolgt von dem offset am Ende der Zeichenfolge enthält. Anders ausgedrückt: Die Ausgabe wird mit dem kurzen Datumsmuster, dem Langen Zeitmuster und der zzz
benutzerdefinierten Formatzeichenfolge formatiert, wobei jedes Element durch ein Leerzeichen vom vorherigen Element getrennt ist.
Das Format dieser drei Elemente wird durch den formatProvider
-Parameter definiert. Der formatProvider
Parameter kann einer der folgenden Sein:
Ein CultureInfo -Objekt, das die Kultur darstellt, deren Formatierungskonventionen auf die zurückgegebene Zeichenfolge angewendet werden. Das DateTimeFormatInfo von der CultureInfo.DateTimeFormat -Eigenschaft zurückgegebene Objekt definiert die Formatierung der zurückgegebenen Zeichenfolge.
Ein DateTimeFormatInfo -Objekt, das das Format von Datums- und Uhrzeitdaten definiert.
Wenn formatProvider
ist null
, wird das DateTimeFormatInfo der aktuellen Kultur zugeordnete Objekt verwendet (siehe CurrentCulture).
Hinweise für Aufrufer
Die ToString(IFormatProvider) -Methode gibt die Zeichenfolgendarstellung des Datums und der Uhrzeit im Kalender zurück, die von der durch den formatProvider
-Parameter dargestellten Kultur verwendet werden. Sein Kalender wird durch die Calendar -Eigenschaft definiert. Wenn der Wert der aktuellen DateTimeOffset Instanz vor MinSupportedDateTime oder höher als MaxSupportedDateTimeliegt, löst die -Methode einen aus ArgumentOutOfRangeException. Dies wird im folgenden Beispiel veranschaulicht. Es versucht, ein Datum zu formatieren, das außerhalb des Bereichs der JapaneseCalendar Klasse liegt.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
CultureInfo jaJP = new CultureInfo("ja-JP");
jaJP.DateTimeFormat.Calendar = new JapaneseCalendar();
DateTimeOffset date1 = new DateTimeOffset(new DateTime(1867, 1, 1),
TimeSpan.Zero);
try {
Console.WriteLine(date1.ToString(jaJP));
}
catch (ArgumentOutOfRangeException) {
Console.WriteLine("{0:d} is earlier than {1:d} or later than {2:d}",
date1,
jaJP.DateTimeFormat.Calendar.MinSupportedDateTime,
jaJP.DateTimeFormat.Calendar.MaxSupportedDateTime);
}
}
}
// The example displays the following output:
// 1/1/1867 is earlier than 9/8/1868 or later than 12/31/9999
open System
open System.Globalization
let jaJP = CultureInfo "ja-JP"
jaJP.DateTimeFormat.Calendar <- JapaneseCalendar()
let date1 = DateTimeOffset(DateTime(1867, 1, 1), TimeSpan.Zero)
try
printfn $"{date1.ToString jaJP}"
with :? ArgumentOutOfRangeException ->
printfn $"{date1:d} is earlier than {jaJP.DateTimeFormat.Calendar.MinSupportedDateTime:d} or later than {jaJP.DateTimeFormat.Calendar.MaxSupportedDateTime:d}"
// The example displays the following output:
// 1/1/1867 is earlier than 9/8/1868 or later than 12/31/9999
Imports System.Globalization
Module Example
Public Sub Main()
Dim jaJP As New CultureInfo("ja-JP")
jaJP.DateTimeFormat.Calendar = New JapaneseCalendar()
Dim date1 As New DateTimeOffset(#01/01/1867#, TimeSpan.Zero)
Try
Console.WriteLine(date1.ToString(jaJP))
Catch e As ArgumentOutOfRangeException
Console.WriteLine("{0:d} is earlier than {1:d} or later than {2:d}", _
date1, _
jaJP.DateTimeFormat.Calendar.MinSupportedDateTime, _
jaJP.DateTimeFormat.Calendar.MaxSupportedDateTime)
End Try
End Sub
End Module
' The example displays the following output:
' 1/1/1867 is earlier than 9/8/1868 or later than 12/31/9999
Gilt für:
ToString(String)
- Quelle:
- DateTimeOffset.cs
- Quelle:
- DateTimeOffset.cs
- Quelle:
- DateTimeOffset.cs
Konvertiert den Wert des aktuellen DateTimeOffset-Objekts unter Verwendung des angegebenen Formats in die entsprechende Zeichenfolgendarstellung.
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
Parameter
- format
- String
Eine Formatzeichenfolge.
Gibt zurück
Die Zeichenfolgendarstellung des Werts des aktuellen DateTimeOffset-Objekts entsprechend den Angaben in format
.
Ausnahmen
Die Länge des format
ist 1, und es ist keines der standardmäßigen Formatbezeichnerzeichen, die für DateTimeFormatInfo definiert sind.
- oder -
format
enthält kein gültiges benutzerdefiniertes Formatmuster.
Datum und Uhrzeit liegen außerhalb des Bereichs von Datumsangaben, die von dem Kalender unterstützt werden, der von der aktuellen Kultur verwendet wird.
Beispiele
Im folgenden Beispiel wird ein DateTimeOffset -Objekt für die Konsole mit jedem der standardmäßigen Datums- und Uhrzeitformatbezeichner angezeigt. Die Ausgabe wird mithilfe der en-us-Kultur formatiert.
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))
Hinweise
Der format
Parameter sollte entweder ein einzelnes Formatbezeichnerzeichen (siehe Standardformatzeichenfolgen für Datum und Uhrzeit) oder ein benutzerdefiniertes Formatmuster (siehe Benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit) enthalten, das das Format der zurückgegebenen Zeichenfolge definiert. Wenn format
eine NULL-Zeichenfolge oder eine leere Zeichenfolge ("") ist, wird der DateTimeOffset Wert im Standardformat ausgegeben.
Die folgende Tabelle zeigt den genauen Vorgang bestimmter Formatbezeichner, wenn sie mit DateTimeOffsetverwendet werden, was sich von ihrem Verhalten unterscheidet, wenn mit DateTimeverwendet wird.
Vorhandener Formatbezeichner | Neues Verhalten |
---|---|
"K" | Entwickelt, um ein Datum und eine Uhrzeit umzurunden. Mit DateTimeOffsetwird "zzz" zugeordnet (der Offset wird immer mit Stunden und Minuten angezeigt). Beachten Sie, dass "K" ein benutzerdefinierter Formatbezeichner ist. Es kann nicht als einzelnes Zeichen in format angezeigt werden. |
"U" | Wird nicht unterstützt. |
"r" | Konvertiert das DateTimeOffset Objekt in koordinierte Weltzeit (UTC) und gibt es mithilfe der benutzerdefinierten Formatzeichenfolge ddd, dd MMM yyyy HH:mm:ss GMT aus. |
"u" | Konvertiert das DateTimeOffset Objekt in UTC und gibt es im Format yyyy-MM-dd HH:mm:ssZ aus. |
Die restlichen Standardformatbezeichner für Datum und Uhrzeit verhalten sich mit der ToString(String) -Methode genauso wie bei der ToString -Methode.
Diese Methode verwendet Formatierungsinformationen, die aus der aktuellen Kultur abgeleitet werden. Weitere Informationen finden Sie unter CurrentCulture.
Hinweise für Aufrufer
Die ToString(String) -Methode gibt die Zeichenfolgendarstellung des Datums und der Uhrzeit im Kalender zurück, der von der aktuellen Kultur verwendet wird. Wenn der Wert der aktuellen DateTimeOffset Instanz vor MinSupportedDateTime oder höher als MaxSupportedDateTimeliegt, löst die -Methode einen aus ArgumentOutOfRangeException. Dies wird im folgenden Beispiel veranschaulicht. Es versucht, ein Datum zu formatieren, das außerhalb des Bereichs der HebrewCalendar Klasse liegt, wenn die aktuelle Kultur Hebräisch (Israel) ist.
using System;
using System.Globalization;
using System.Threading;
public class Example
{
public static void Main()
{
DateTimeOffset date1 = new DateTimeOffset(new DateTime(1550, 7, 21),
TimeSpan.Zero);
CultureInfo dft;
CultureInfo heIL = new CultureInfo("he-IL");
heIL.DateTimeFormat.Calendar = new HebrewCalendar();
// Change current culture to he-IL.
dft = Thread.CurrentThread.CurrentCulture;
Thread.CurrentThread.CurrentCulture = heIL;
// Display the date using the current culture's calendar.
try {
Console.WriteLine(date1.ToString("G"));
}
catch (ArgumentOutOfRangeException) {
Console.WriteLine("{0} is earlier than {1} or later than {2}",
date1.ToString("d", CultureInfo.InvariantCulture),
heIL.DateTimeFormat.Calendar.MinSupportedDateTime.ToString("d", CultureInfo.InvariantCulture),
heIL.DateTimeFormat.Calendar.MaxSupportedDateTime.ToString("d", CultureInfo.InvariantCulture));
}
// Restore the default culture.
Thread.CurrentThread.CurrentCulture = dft;
}
}
// The example displays the following output:
// 07/21/1550 is earlier than 01/01/1583 or later than 09/29/2239
open System
open System.Globalization
open System.Threading
let date1 = DateTimeOffset(DateTime(1550, 7, 21), TimeSpan.Zero)
let heIL = CultureInfo "he-IL"
heIL.DateTimeFormat.Calendar <- HebrewCalendar()
// Change current culture to he-IL.
let dft = Thread.CurrentThread.CurrentCulture
Thread.CurrentThread.CurrentCulture <- heIL
// Display the date using the current culture's calendar.
try
printfn $"{date1:G}"
with :? ArgumentOutOfRangeException ->
printfn $"""{date1.ToString("d", CultureInfo.InvariantCulture)} is earlier than {heIL.DateTimeFormat.Calendar.MinSupportedDateTime.ToString("d", CultureInfo.InvariantCulture)} or later than {heIL.DateTimeFormat.Calendar.MaxSupportedDateTime.ToString("d", CultureInfo.InvariantCulture)}"""
// Restore the default culture.
Thread.CurrentThread.CurrentCulture <- dft
// The example displays the following output:
// 07/21/1550 is earlier than 01/01/1583 or later than 09/29/2239
Imports System.Globalization
Imports System.Threading
Module Example
Public Sub Main()
Dim date1 As New DateTimeOffset(#7/21/1550#, TimeSpan.Zero)
Dim dft As CultureInfo
Dim heIL As New CultureInfo("he-IL")
heIL.DateTimeFormat.Calendar = New HebrewCalendar()
' Change current culture to he-IL.
dft = Thread.CurrentThread.CurrentCulture
Thread.CurrentThread.CurrentCulture = heIL
' Display the date using the current culture's calendar.
Try
Console.WriteLine(date1.ToString("G"))
Catch e As ArgumentOutOfRangeException
Console.WriteLine("{0} is earlier than {1} or later than {2}", _
date1.ToString("d", CultureInfo.InvariantCulture), _
heIL.DateTimeFormat.Calendar.MinSupportedDateTime.ToString("d", CultureInfo.InvariantCulture), _
heIL.DateTimeFormat.Calendar.MaxSupportedDateTime.ToString("d", CultureInfo.InvariantCulture))
End Try
' Restore the default culture.
Thread.CurrentThread.CurrentCulture = dft
End Sub
End Module
' The example displays the following output:
' 07/21/1550 is earlier than 01/01/1583 or later than 09/29/2239
Weitere Informationen
- Standard-Formatzeichenfolgen für Datum und Uhrzeit
- Benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit
Gilt für:
ToString(String, IFormatProvider)
- Quelle:
- DateTimeOffset.cs
- Quelle:
- DateTimeOffset.cs
- Quelle:
- DateTimeOffset.cs
Konvertiert den Wert des aktuellen DateTimeOffset-Objekts unter Verwendung des angegebenen Formats sowie der kulturabhängigen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.
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
Parameter
- format
- String
Eine Formatzeichenfolge.
- formatProvider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.
Gibt zurück
Die Zeichenfolgendarstellung des Werts des aktuellen DateTimeOffset-Objekts wie von format
und provider
angegeben.
Implementiert
Ausnahmen
Die Länge des format
ist 1, und es ist keines der standardmäßigen Formatbezeichnerzeichen, die für DateTimeFormatInfo definiert sind.
- oder -
format
enthält kein gültiges benutzerdefiniertes Formatmuster.
Datum und Uhrzeit liegen außerhalb des Bereichs von Datumsangaben, die vom Kalender unterstützt werden, der von formatProvider
verwendet wird.
Beispiele
Im folgenden Beispiel wird die ToString(String, IFormatProvider) -Methode verwendet, um ein DateTimeOffset -Objekt mithilfe einer benutzerdefinierten Formatzeichenfolge für mehrere verschiedene Kulturen anzuzeigen.
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
Hinweise
Der format
Parameter sollte entweder ein einzelnes Formatbezeichnerzeichen (siehe Standardformatzeichenfolgen für Datum und Uhrzeit) oder ein benutzerdefiniertes Formatmuster enthalten (siehe Benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit). Wenn format
eine NULL-Zeichenfolge oder eine leere Zeichenfolge ("") ist, wird das DateTimeOffset Objekt im Standardformat ausgegeben.
Die folgende Tabelle zeigt den genauen Vorgang bestimmter Formatbezeichner, wenn sie mit DateTimeOffsetverwendet werden, was sich von ihrem Verhalten unterscheidet, wenn mit DateTimeverwendet wird.
Vorhandener Formatbezeichner | Neues Verhalten |
---|---|
"K" | Entwickelt, um ein Datum und eine Uhrzeit umzurunden. Mit DateTimeOffsetwird "zzz" zugeordnet (der Offset wird immer mit Stunden und Minuten angezeigt). Beachten Sie, dass "K" ein benutzerdefinierter Formatbezeichner ist. Es kann nicht als einzelnes Zeichen in format angezeigt werden. |
"U" | Wird nicht unterstützt. |
"r" | Konvertiert das DateTimeOffset Objekt in koordinierte Weltzeit (UTC) und gibt es mithilfe der benutzerdefinierten Formatzeichenfolge ddd, dd MMM yyyy HH:mm:ss GMT aus. |
"u" | Konvertiert den DateTimeOffset Wert in UTC und gibt ihn im Format yyyy-MM-dd HH:mm:ssZ aus. |
Die übrigen Standardformatspezifizierer für Datum und Uhrzeit verhalten sich mit der ToString(String) -Methode genauso wie bei der ToString -Methode.
Das Muster, das den Standardformatbezeichnern entspricht, sowie die Symbole und Namen der Datums- und Uhrzeitkomponenten werden durch den formatProvider
Parameter definiert. Der formatProvider
Parameter kann einer der folgenden Sein:
Ein CultureInfo -Objekt, das die Kultur darstellt, deren Formatierung in
input
verwendet wird. Das DateTimeFormatInfo von der CultureInfo.DateTimeFormat -Eigenschaft zurückgegebene Objekt definiert die ininput
verwendete Formatierung.Ein DateTimeFormatInfo -Objekt, das das Format von Datums- und Uhrzeitdaten definiert.
Wenn formatProvider
ist null
, wird das DateTimeFormatInfo der aktuellen Kultur zugeordnete Objekt verwendet (siehe CurrentCulture).
Hinweise für Aufrufer
Die ToString(String, IFormatProvider) -Methode gibt die Zeichenfolgendarstellung des Datums und der Uhrzeit im Kalender zurück, der formatProvider
vom Parameter verwendet wird. Sein Kalender wird durch die Calendar -Eigenschaft definiert. Wenn der Wert der aktuellen DateTimeOffset Instanz vor MinSupportedDateTime oder höher als MaxSupportedDateTimeliegt, löst die -Methode einen aus ArgumentOutOfRangeException. Dies wird im folgenden Beispiel veranschaulicht. Es versucht, ein Datum zu formatieren, das außerhalb des Bereichs der UmAlQuraCalendar Klasse liegt.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
CultureInfo arSA = new CultureInfo("ar-SA");
arSA.DateTimeFormat.Calendar = new UmAlQuraCalendar();
DateTimeOffset date1 = new DateTimeOffset(new DateTime(1890, 9, 10),
TimeSpan.Zero);
try {
Console.WriteLine(date1.ToString("d", arSA));
}
catch (ArgumentOutOfRangeException) {
Console.WriteLine("{0:d} is earlier than {1:d} or later than {2:d}",
date1,
arSA.DateTimeFormat.Calendar.MinSupportedDateTime,
arSA.DateTimeFormat.Calendar.MaxSupportedDateTime);
}
}
}
// The example displays the following output:
// 9/10/1890 is earlier than 4/30/1900 or later than 5/13/2029
open System
open System.Globalization
let arSA = CultureInfo "ar-SA"
arSA.DateTimeFormat.Calendar <- UmAlQuraCalendar()
let date1 = DateTimeOffset(DateTime(1890, 9, 10), TimeSpan.Zero)
try
printfn $"""{date1.ToString("d", arSA)}"""
with :? ArgumentOutOfRangeException ->
printfn $"{date1:d} is earlier than {arSA.DateTimeFormat.Calendar.MinSupportedDateTime:d} or later than {arSA.DateTimeFormat.Calendar.MaxSupportedDateTime:d}"
// The example displays the following output:
// 9/10/1890 is earlier than 4/30/1900 or later than 11/16/2077
Imports System.Globalization
Module Example
Public Sub Main()
Dim arSA As New CultureInfo("ar-SA")
arSA.DateTimeFormat.Calendar = New UmAlQuraCalendar()
Dim date1 As New DateTimeOffset(#09/10/1890#, TimeSpan.Zero)
Try
Console.WriteLine(date1.ToString("d", arSA))
Catch e As ArgumentOutOfRangeException
Console.WriteLine("{0:d} is earlier than {1:d} or later than {2:d}", _
date1, _
arSA.DateTimeFormat.Calendar.MinSupportedDateTime, _
arSA.DateTimeFormat.Calendar.MaxSupportedDateTime)
End Try
End Sub
End Module
' The example displays the following output:
' 9/10/1890 is earlier than 4/30/1900 or later than 5/13/2029
Weitere Informationen
- Standard-Formatzeichenfolgen für Datum und Uhrzeit
- Benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit
- Beispiel: .NET Core-Hilfsprogramm zur Formatierung von WinForms (C#)
- Beispiel: .NET Core-Hilfsprogramm zur Formatierung von WinForms (Visual Basic)
Gilt für:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für