Teilen über


DateTimeOffset.ToString Methode

Definition

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 in die entsprechende Zeichenfolgendarstellung mithilfe der angegebenen kulturspezifischen Formatierungsinformationen.

ToString(String)

Konvertiert den Wert des aktuellen DateTimeOffset -Objekts in die entsprechende Zeichenfolgendarstellung mithilfe des angegebenen Formats.

ToString(String, IFormatProvider)

Konvertiert den Wert des aktuellen DateTimeOffset -Objekts in die entsprechende Zeichenfolgendarstellung mithilfe der angegebenen Format- und kulturspezifischen Formatinformationen.

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, das den am Ende der Zeichenfolge angefügten Offset enthält.

Ausnahmen

Das Datum und die Uhrzeit liegen außerhalb des Datumsbereichs, der vom von der aktuellen Kultur verwendeten Kalender unterstützt wird.

Beispiele

Das folgende Beispiel veranschaulicht Aufrufe der ToString()-Methode und zeigt die Ausgabe eines Systems an, dessen aktuelle Kultur en-usist.

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 der der DateTime.ToString()-Methode, mit der Ausnahme, dass sie ein Leerzeichen gefolgt vom an das Ende der Zeichenfolge angefügten Offset enthält. Mit anderen Worten, es formatiert die Ausgabe mithilfe des kurzen Datumsmusters, des langen Zeitmusters und der zzz benutzerdefinierten Formatzeichenfolge, wobei jedes Element durch ein Leerzeichen vom vorherigen Element getrennt ist. Wenn DateTime.ToString() beispielsweise einen Wert vom 12.01.2008 15:50 Uhr zurückgibt, gibt ToString() den Wert 1/12/2008 6:15:50 -08:00 Uhr für eine Zeit zurück, die acht Stunden hinter koordinierter Weltzeit (UTC) liegt.

Diese Methode verwendet Formatierungsinformationen, die aus der aktuellen Kultur abgeleitet sind. 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 eine ArgumentOutOfRangeExceptionaus. Das folgende Beispiel enthält eine Abbildung. Es versucht, ein Datum zu formatieren, das sich außerhalb des Bereichs der klasse HijriCalendar befindet, 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 in die entsprechende Zeichenfolgendarstellung mithilfe der angegebenen kulturspezifischen Formatierungsinformationen.

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

Eine Zeichenfolgendarstellung des Werts des aktuellen DateTimeOffset-Objekts, wie durch formatProviderangegeben.

Ausnahmen

Das Datum und die Uhrzeit liegen außerhalb des Datumsbereichs, der vom von formatProviderverwendeten Kalender unterstützt wird.

Beispiele

Im folgenden Beispiel wird ein DateTimeOffset-Objekt mit CultureInfo Objekten angezeigt, die die invariante Kultur sowie vier andere 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 äquivalenten Überladung der DateTime.ToString-Methode, mit der Ausnahme, dass sie ein Leerzeichen gefolgt vom an das Ende der Zeichenfolge angefügten Offset enthält. Mit anderen Worten, es formatiert die Ausgabe mithilfe des kurzen Datumsmusters, des langen Zeitmusters und der zzz benutzerdefinierten Formatzeichenfolge, wobei jedes Element durch ein Leerzeichen vom vorherigen Element getrennt ist.

Das Format dieser drei Elemente wird durch den parameter formatProvider definiert. Der parameter formatProvider kann eine der folgenden sein:

  • Ein CultureInfo-Objekt, das die Kultur darstellt, deren Formatierungskonventionen auf die zurückgegebene Zeichenfolge angewendet werden. Das von der CultureInfo.DateTimeFormat -Eigenschaft zurückgegebene DateTimeFormatInfo -Objekt definiert die Formatierung der zurückgegebenen Zeichenfolge.

  • Ein DateTimeFormatInfo-Objekt, das das Format von Datums- und Uhrzeitdaten definiert.

Wenn formatProvidernullist, wird das DateTimeFormatInfo Objekt verwendet, das der aktuellen Kultur zugeordnet ist (siehe CurrentCulture).

Hinweise für Aufrufer

Die ToString(IFormatProvider)-Methode gibt die Zeichenfolgendarstellung des Datums und der Uhrzeit im Kalender zurück, der von der Kultur verwendet wird, die durch den parameter formatProvider dargestellt wird. Der Kalender wird durch die eigenschaft Calendar definiert. Wenn der Wert der aktuellen DateTimeOffset Instanz vor MinSupportedDateTime oder höher als MaxSupportedDateTimeliegt, löst die Methode eine ArgumentOutOfRangeExceptionaus. Das folgende Beispiel enthält eine Abbildung. Es versucht, ein Datum zu formatieren, das sich außerhalb des Bereichs der JapaneseCalendar Klasse befindet.

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 in die entsprechende Zeichenfolgendarstellung mithilfe des angegebenen Formats.

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

Eine Zeichenfolgendarstellung des Werts des aktuellen DateTimeOffset-Objekts, wie durch formatangegeben.

Ausnahmen

Die Länge der format ist ein Zeichen, und es handelt sich nicht um eines der Standardformatbezeichnerzeichen, die für DateTimeFormatInfodefiniert sind.

-oder-

format enthält kein gültiges benutzerdefiniertes Formatmuster.

Das Datum und die Uhrzeit liegen außerhalb des Datumsbereichs, der vom von der aktuellen Kultur verwendeten Kalender unterstützt wird.

Beispiele

Im folgenden Beispiel wird ein DateTimeOffset-Objekt für die Konsole mithilfe der standardbezeichner für Datums- und Uhrzeitformate 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 parameter format sollte entweder ein einzelnes Formatbezeichnerzeichen enthalten (siehe Standard-Datums- und Uhrzeitformatzeichenfolgen) oder ein benutzerdefiniertes Formatmuster (siehe Benutzerdefinierte Datums- und Uhrzeitformatzeichenfolgen), die das Format der zurückgegebenen Zeichenfolge definieren. Wenn format eine NULL- oder leere Zeichenfolge ("") ist, wird der DateTimeOffset Wert mithilfe des Standardformats ausgegeben.

In der folgenden Tabelle ist der genaue Vorgang bestimmter Formatbezeichner dargestellt, wenn sie mit DateTimeOffsetverwendet werden, was sich von ihrem Verhalten unterscheidet, wenn sie mit DateTimeverwendet wird.

Vorhandener Formatbezeichner Neues Verhalten
"K" Entwickelt, um ein Datum und eine Uhrzeit abzurunden. Bei 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 formatangezeigt werden.
"U" 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 GMTaus.
"u" Konvertiert das DateTimeOffset -Objekt in UTC und gibt es mithilfe des Formats yyyy-MM-dd HH:mm:ssZaus.

Die übrigen Standard-Datums- und Uhrzeitformatbezeichner verhalten sich wie bei der ToString-Methode mit der ToString(String)-Methode identisch.

Diese Methode verwendet Formatierungsinformationen, die aus der aktuellen Kultur abgeleitet sind. 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 eine ArgumentOutOfRangeExceptionaus. Das folgende Beispiel enthält eine Abbildung. Es versucht, ein Datum zu formatieren, das sich außerhalb des Bereichs der HebrewCalendar Klasse befindet, 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

Gilt für:

ToString(String, IFormatProvider)

Quelle:
DateTimeOffset.cs
Quelle:
DateTimeOffset.cs
Quelle:
DateTimeOffset.cs

Konvertiert den Wert des aktuellen DateTimeOffset -Objekts in die entsprechende Zeichenfolgendarstellung mithilfe der angegebenen Format- und kulturspezifischen Formatinformationen.

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

Eine Zeichenfolgendarstellung des Werts des aktuellen DateTimeOffset-Objekts, wie durch format und formatProviderangegeben.

Implementiert

Ausnahmen

Die Länge der format ist ein Zeichen, und es handelt sich nicht um eines der Standardformatbezeichnerzeichen, die für DateTimeFormatInfodefiniert sind.

-oder-

format enthält kein gültiges benutzerdefiniertes Formatmuster.

Das Datum und die Uhrzeit liegen außerhalb des Datumsbereichs, der vom von formatProviderverwendeten Kalender unterstützt wird.

Beispiele

Im folgenden Beispiel wird die ToString(String, IFormatProvider)-Methode verwendet, um ein DateTimeOffset Objekt mithilfe einer benutzerdefinierten Formatzeichenfolge für 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 parameter format sollte entweder ein einzelnes Formatbezeichnerzeichen enthalten (siehe Standard-Datums- und Uhrzeitformatzeichenfolgen) oder ein benutzerdefiniertes Formatmuster (siehe Benutzerdefinierte Datums- und Uhrzeitformatzeichenfolgen). Wenn format eine NULL- oder leere Zeichenfolge ("") ist, wird das DateTimeOffset-Objekt mithilfe des Standardformats ausgegeben.

In der folgenden Tabelle ist der genaue Vorgang bestimmter Formatbezeichner dargestellt, wenn sie mit DateTimeOffsetverwendet werden, was sich von ihrem Verhalten unterscheidet, wenn sie mit DateTimeverwendet wird.

Vorhandener Formatbezeichner Neues Verhalten
"K" Entwickelt, um ein Datum und eine Uhrzeit abzurunden. Bei 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 formatangezeigt werden.
"U" 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 GMTaus.
"u" Konvertiert den DateTimeOffset Wert in UTC und gibt ihn mithilfe des Formats yyyy-MM-dd HH:mm:ssZaus.

Die übrigen Standard-Datums- und Uhrzeitformatbezeichner verhalten sich wie bei der ToString-Methode mit der ToString(String)-Methode identisch.

Das Muster, das Standardformatbezeichnern entspricht, sowie die Symbole und Namen von Datums- und Uhrzeitkomponenten, wird durch den parameter formatProvider definiert. Der parameter formatProvider kann eine der folgenden sein:

Wenn formatProvidernullist, wird das DateTimeFormatInfo Objekt verwendet, das der aktuellen Kultur zugeordnet ist (siehe CurrentCulture).

Hinweise für Aufrufer

Die ToString(String, IFormatProvider)-Methode gibt die Zeichenfolgendarstellung des Datums und der Uhrzeit im Kalender zurück, der vom parameter formatProvider verwendet wird. Der Kalender wird durch die eigenschaft Calendar definiert. Wenn der Wert der aktuellen DateTimeOffset Instanz vor MinSupportedDateTime oder höher als MaxSupportedDateTimeliegt, löst die Methode eine ArgumentOutOfRangeExceptionaus. Das folgende Beispiel enthält eine Abbildung. Es versucht, ein Datum zu formatieren, das sich außerhalb des Bereichs der UmAlQuraCalendar Klasse befindet.

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

Gilt für: