DateTime.ToString Methode

Definition

Konvertiert den Wert des aktuellen DateTime-Objekts in die entsprechende Zeichenfolgendarstellung.

Überlädt

ToString(IFormatProvider)

Konvertiert den Wert des aktuellen DateTime-Objekts unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.

ToString(String)

Konvertiert den Wert des aktuellen DateTime-Objekts unter Verwendung des angegebenen Formats und der Formatierungskonventionen der aktuellen Kultur in die entsprechende Zeichenfolgendarstellung.

ToString()

Konvertiert den Wert des aktuellen DateTime-Objekts unter Verwendung der Formatierungskonventionen der aktuellen Kultur in die entsprechende Zeichenfolgendarstellung.

ToString(String, IFormatProvider)

Konvertiert den Wert des aktuellen DateTime-Objekts unter Verwendung des angegebenen Formats sowie der kulturabhängigen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.

ToString(IFormatProvider)

Konvertiert den Wert des aktuellen DateTime-Objekts unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.

public:
 virtual System::String ^ ToString(IFormatProvider ^ provider);
public:
 System::String ^ ToString(IFormatProvider ^ provider);
public string ToString (IFormatProvider provider);
public string ToString (IFormatProvider? provider);
override this.ToString : IFormatProvider -> string
Public Function ToString (provider As IFormatProvider) As String

Parameter

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

Gibt zurück

Die Zeichenfolgendarstellung des Werts des aktuellen DateTime-Objekts entsprechend der Angabe in provider.

Implementiert

Ausnahmen

Datum und Uhrzeit liegen außerhalb des Bereichs von Datumsangaben, die vom Kalender unterstützt werden, der von provider verwendet wird.

Beispiele

Im folgenden Beispiel wird die Zeichenfolgendarstellung eines Datums und einer Uhrzeit mithilfe CultureInfo von Objekten angezeigt, die fünf verschiedene Kulturen darstellen.

using System;
using System.Globalization;

public class ToStringExample3
{
   public static void Main2()
   {
      CultureInfo[] cultures = new CultureInfo[] {CultureInfo.InvariantCulture,
                                                  new CultureInfo("en-us"),
                                                  new CultureInfo("fr-fr"),
                                                  new CultureInfo("de-DE"),
                                                  new CultureInfo("es-ES"),
                                                  new CultureInfo("ja-JP")};

      DateTime thisDate = new DateTime(2009, 5, 1, 9, 0, 0);

      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/2009 09:00:00
//    In en-US, 5/1/2009 9:00:00 AM
//    In fr-FR, 01/05/2009 09:00:00
//    In de-DE, 01.05.2009 09:00:00
//    In es-ES, 01/05/2009 9:00:00
//    In ja-JP, 2009/05/01 9:00:00
open System
open System.Globalization

let cultures = 
    [ CultureInfo.InvariantCulture
      CultureInfo "en-us"
      CultureInfo "fr-fr"
      CultureInfo "de-DE"
      CultureInfo "es-ES"
      CultureInfo "ja-JP" ]

let thisDate = DateTime(2009, 5, 1, 9, 0, 0)

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/2009 09:00:00
//    In en-US, 5/1/2009 9:00:00 AM
//    In fr-FR, 01/05/2009 09:00:00
//    In de-DE, 01.05.2009 09:00:00
//    In es-ES, 01/05/2009 9:00:00
//    In ja-JP, 2009/05/01 9:00:00
Imports System.Globalization

Module Example4
    Public Sub Main4()
        Dim cultures() As CultureInfo = {CultureInfo.InvariantCulture,
                                       New CultureInfo("en-us"),
                                       New CultureInfo("fr-fr"),
                                       New CultureInfo("de-DE"),
                                       New CultureInfo("es-ES"),
                                       New CultureInfo("ja-JP")}

        Dim thisDate As Date = #5/1/2009 9:00AM#

        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
    End Sub
End Module
' The example produces the following output:
'    In Invariant Language (Invariant Country), 05/01/2009 09:00:00
'    In en-US, 5/1/2009 9:00:00 AM
'    In fr-FR, 01/05/2009 09:00:00
'    In de-DE, 01.05.2009 09:00:00
'    In es-ES, 01/05/2009 9:00:00
'    In ja-JP, 2009/05/01 9:00:00

Hinweise

Der Wert des aktuellen DateTime Objekts wird mithilfe des allgemeinen Datums- und Uhrzeitformatbezeichners ("G") formatiert, der die Ausgabe mit dem kurzen Datumsmuster und dem Langen Zeitmuster formatiert.

Das Format des Musters für kurze Datums- und lange Zeit wird durch den provider -Parameter definiert. Der provider Parameter kann einer der folgenden Sein:

  • Ein CultureInfo -Objekt, das die Kultur darstellt, deren Formatierungskonventionen in der zurückgegebenen Zeichenfolge widergespiegelt werden sollen. 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.

  • Ein benutzerdefiniertes Objekt, das die IFormatProvider -Schnittstelle implementiert. Die - GetFormat Methode gibt ein DateTimeFormatInfo -Objekt zurück, das Formatierungsinformationen bereitstellt.

Wenn provider ist null, wird das DateTimeFormatInfo der aktuellen Kultur zugeordnete Objekt verwendet. Weitere Informationen finden Sie unter CultureInfo.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 provider -Parameter dargestellten Kultur verwendet werden. Sein Kalender wird durch die Calendar -Eigenschaft definiert. Wenn der Wert der aktuellen DateTime instance vor MinSupportedDateTime oder höher als MaxSupportedDateTimeliegt, löst die -Methode einen ausArgumentOutOfRangeException. 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();
      DateTime date1 = new DateTime(1867, 1, 1);

      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 = DateTime(1867, 1, 1)

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 Date = #01/01/1867#

      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

Weitere Informationen

Gilt für:

ToString(String)

Konvertiert den Wert des aktuellen DateTime-Objekts unter Verwendung des angegebenen Formats und der Formatierungskonventionen der aktuellen Kultur 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 Standard- oder benutzerdefinierte Formatzeichenfolge für Datum und Uhrzeit.

Gibt zurück

Die Zeichenfolgendarstellung des Werts des aktuellen DateTime-Objekts entsprechend der Angabe in format.

Ausnahmen

Die Länge des format ist 1, und es ist keines der 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 werden jede der standardmäßigen Datums- und Uhrzeitformatzeichenfolgen und eine Auswahl benutzerdefinierter Datums- und Uhrzeitformatzeichenfolgen verwendet, um die Zeichenfolgendarstellung eines DateTime Werts anzuzeigen. Die aktuelle Threadkultur für das Beispiel ist en-US.

using System;

public class DateToStringExample2
{
   public static void Main()
   {
      DateTime dateValue = new DateTime(2008, 6, 15, 21, 15, 07);
      // Create an array of standard format strings.
      string[] standardFmts = {"d", "D", "f", "F", "g", "G", "m", "o",
                               "R", "s", "t", "T", "u", "U", "y"};
      // Output date and time using each standard format string.
      foreach (string standardFmt in standardFmts)
         Console.WriteLine("{0}: {1}", standardFmt,
                           dateValue.ToString(standardFmt));
      Console.WriteLine();

      // Create an array of some custom format strings.
      string[] customFmts = {"h:mm:ss.ff t", "d MMM yyyy", "HH:mm:ss.f",
                             "dd MMM HH:mm:ss", @"\Mon\t\h\: M", "HH:mm:ss.ffffzzz" };
      // Output date and time using each custom format string.
      foreach (string customFmt in customFmts)
         Console.WriteLine("'{0}': {1}", customFmt,
                           dateValue.ToString(customFmt));
   }
}
// This example displays the following output to the console:
//       d: 6/15/2008
//       D: Sunday, June 15, 2008
//       f: Sunday, June 15, 2008 9:15 PM
//       F: Sunday, June 15, 2008 9:15:07 PM
//       g: 6/15/2008 9:15 PM
//       G: 6/15/2008 9:15:07 PM
//       m: June 15
//       o: 2008-06-15T21:15:07.0000000
//       R: Sun, 15 Jun 2008 21:15:07 GMT
//       s: 2008-06-15T21:15:07
//       t: 9:15 PM
//       T: 9:15:07 PM
//       u: 2008-06-15 21:15:07Z
//       U: Monday, June 16, 2008 4:15:07 AM
//       y: June, 2008
//
//       'h:mm:ss.ff t': 9:15:07.00 P
//       'd MMM yyyy': 15 Jun 2008
//       'HH:mm:ss.f': 21:15:07.0
//       'dd MMM HH:mm:ss': 15 Jun 21:15:07
//       '\Mon\t\h\: M': Month: 6
//       'HH:mm:ss.ffffzzz': 21:15:07.0000-07:00
open System

let dateValue = DateTime(2008, 6, 15, 21, 15, 07)
// Create a list of standard format strings.
let standardFmts = 
    [ "d"; "D"; "f"; "F"; "g"; "G"; "m"; "o"
      "R"; "s"; "t"; "T"; "u"; "U"; "y" ]

// Output date and time using each standard format string.
for standardFmt in standardFmts do
    printfn $"{standardFmt}: {dateValue.ToString standardFmt}"
printfn ""

// Create a list of some custom format strings.
let customFmts = 
    [ "h:mm:ss.ff t"; "d MMM yyyy"; "HH:mm:ss.f"; "dd MMM HH:mm:ss"; @"\Mon\t\h\: M"; "HH:mm:ss.ffffzzz" ]

// Output date and time using each custom format string.
for customFmt in customFmts do
    printfn $"'{customFmt}': {dateValue.ToString customFmt}"

// This example displays the following output to the console:
//       d: 6/15/2008
//       D: Sunday, June 15, 2008
//       f: Sunday, June 15, 2008 9:15 PM
//       F: Sunday, June 15, 2008 9:15:07 PM
//       g: 6/15/2008 9:15 PM
//       G: 6/15/2008 9:15:07 PM
//       m: June 15
//       o: 2008-06-15T21:15:07.0000000
//       R: Sun, 15 Jun 2008 21:15:07 GMT
//       s: 2008-06-15T21:15:07
//       t: 9:15 PM
//       T: 9:15:07 PM
//       u: 2008-06-15 21:15:07Z
//       U: Monday, June 16, 2008 4:15:07 AM
//       y: June, 2008
//
//       'h:mm:ss.ff t': 9:15:07.00 P
//       'd MMM yyyy': 15 Jun 2008
//       'HH:mm:ss.f': 21:15:07.0
//       'dd MMM HH:mm:ss': 15 Jun 21:15:07
//       '\Mon\t\h\: M': Month: 6
//       'HH:mm:ss.ffffzzz': 21:15:07.0000-07:00
Module DateToStringExample2
    Public Sub Main2()
        Dim dateValue As Date = #6/15/2008 9:15:07PM#
        ' Create an array of standard format strings.
        Dim standardFmts() As String = {"d", "D", "f", "F", "g", "G",
                                      "m", "o", "R", "s", "t", "T",
                                      "u", "U", "y"}
        ' Output date and time using each standard format string.
        For Each standardFmt As String In standardFmts
            Console.WriteLine("{0}: {1}", standardFmt,
                           dateValue.ToString(standardFmt))
        Next
        Console.WriteLine()

        ' Create an array of some custom format strings.
        Dim customFmts() As String = {"h:mm:ss.ff t", "d MMM yyyy", "HH:mm:ss.f",
                                    "dd MMM HH:mm:ss", "\Mon\t\h\: M", "HH:mm:ss.ffffzzz"}
        ' Output date and time using each custom format string.
        For Each customFmt As String In customFmts
            Console.WriteLine("'{0}': {1}", customFmt,
                           dateValue.ToString(customFmt))
        Next
    End Sub
End Module
' This example displays the following output to the console:
'       d: 6/15/2008
'       D: Sunday, June 15, 2008
'       f: Sunday, June 15, 2008 9:15 PM
'       F: Sunday, June 15, 2008 9:15:07 PM
'       g: 6/15/2008 9:15 PM
'       G: 6/15/2008 9:15:07 PM
'       m: June 15
'       o: 2008-06-15T21:15:07.0000000
'       R: Sun, 15 Jun 2008 21:15:07 GMT
'       s: 2008-06-15T21:15:07
'       t: 9:15 PM
'       T: 9:15:07 PM
'       u: 2008-06-15 21:15:07Z
'       U: Monday, June 16, 2008 4:15:07 AM
'       y: June, 2008
'       
'       'h:mm:ss.ff t': 9:15:07.00 P
'       'd MMM yyyy': 15 Jun 2008
'       'HH:mm:ss.f': 21:15:07.0
'       'dd MMM HH:mm:ss': 15 Jun 21:15:07
'       '\Mon\t\h\: M': Month: 6
'       'HH:mm:ss.ffffzzz': 21:15:07.0000-07:00

Hinweise

Die ToString(String) -Methode gibt die Zeichenfolgendarstellung eines Datums- und Uhrzeitwerts in einem bestimmten Format zurück, das die Formatierungskonventionen der aktuellen Kultur verwendet. Weitere Informationen finden Sie unter CultureInfo.CurrentCulture.

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 oder eine leere Zeichenfolge ist null , wird der allgemeine Formatbezeichner "G" verwendet.

Einige Verwendungsmöglichkeiten dieser Methode sind:

  • Abrufen einer Zeichenfolge, die das Datum und die Uhrzeit im kurzen Datums- und Uhrzeitformat der aktuellen Kultur anzeigt. Dazu verwenden Sie den Formatbezeichner "G".

  • Abrufen einer Zeichenfolge, die nur den Monat und das Jahr enthält. Dazu verwenden Sie die Formatzeichenfolge "MM/jjjj". Die Formatzeichenfolge verwendet das Datumstrennzeichen der aktuellen Kultur.

  • Abrufen einer Zeichenfolge, die das Datum und die Uhrzeit in einem bestimmten Format enthält. Beispielsweise zeigt die Formatzeichenfolge "MM/tt/yyyyH:mm" die Datums- und Uhrzeitzeichenfolge in einem festen Format an, z. B. "19//03//2013 18:06". Die Formatzeichenfolge verwendet "/" als festes Datumstrennzeichen, unabhängig von kulturspezifischen Einstellungen.

  • Abrufen eines Datums in einem verkürzten Format, das zum Serialisieren einer Datumszeichenfolge verwendet werden kann. Die Formatzeichenfolge "yyyyMMddd" zeigt beispielsweise ein vierstelliges Jahr gefolgt von einem zweistelligen Monat und einem zweistelligen Tag ohne Datumstrennzeichen an.

Im folgenden Beispiel werden diese drei Formatzeichenfolgen verwendet, um einen Datums- und Uhrzeitwert mithilfe der Konventionen der Kulturen en-US und fr-FR anzuzeigen.

using System;
using System.Globalization;

public class ToStringExample5
{
    public static void Main3()
    {
        string[] formats = { "G", "MM/yyyy", @"MM\/dd\/yyyy HH:mm", "yyyyMMdd" };
        string[] cultureNames = { "en-US", "fr-FR" };
        DateTime date = new DateTime(2015, 8, 18, 13, 31, 17);
        foreach (var cultureName in cultureNames)
        {
            var culture = new CultureInfo(cultureName);
            CultureInfo.CurrentCulture = culture;
            Console.WriteLine(culture.NativeName);
            foreach (var format in formats)
                Console.WriteLine($"   {format}: {date.ToString(format)}");
            Console.WriteLine();
        }
    }
}
// The example displays the following output:
//       English (United States)
//          G: 8/18/2015 1:31:17 PM
//          MM/yyyy: 08/2015
//          MM\/dd\/yyyy HH:mm: 08/18/2015 13:31
//          yyyyMMdd: 20150818
//
//       français (France)
//          G: 18/08/2015 13:31:17
//          MM/yyyy: 08/2015
//          MM\/dd\/yyyy HH:mm: 08/18/2015 13:31
//          yyyyMMdd: 20150818
open System
open System.Globalization

let formats = [ "G"; "MM/yyyy"; @"MM\/dd\/yyyy HH:mm"; "yyyyMMdd" ]
let cultureNames = [ "en-US"; "fr-FR" ]
let date = DateTime(2015, 8, 18, 13, 31, 17)
for cultureName in cultureNames do
    let culture = CultureInfo cultureName
    CultureInfo.CurrentCulture <- culture

    printfn $"{culture.NativeName}"
    for format in formats do
        printfn $"   {format}: {date.ToString format}"
    printfn ""

// The example displays the following output:
//       English (United States)
//          G: 8/18/2015 1:31:17 PM
//          MM/yyyy: 08/2015
//          MM\/dd\/yyyy HH:mm: 08/18/2015 13:31
//          yyyyMMdd: 20150818
//
//       français (France)
//          G: 18/08/2015 13:31:17
//          MM/yyyy: 08/2015
//          MM\/dd\/yyyy HH:mm: 08/18/2015 13:31
//          yyyyMMdd: 20150818
Imports System.Globalization
Imports System.Threading

Public Module Example5
    Public Sub Main5()
        Dim formats() As String = {"G", "MM/yyyy", "MM\/dd\/yyyy HH:mm",
                                  "yyyyMMdd"}
        Dim cultureNames() As String = {"en-US", "fr-FR"}
        Dim dat As New DateTime(2015, 8, 18, 13, 31, 17)
        For Each cultureName In cultureNames
            Dim culture As New CultureInfo(cultureName)
            CultureInfo.CurrentCulture = culture
            Console.WriteLine(culture.NativeName)
            For Each fmt In formats
                Console.WriteLine("   {0}: {1}", fmt,
                              dat.ToString(fmt))
            Next
            Console.WriteLine()
        Next
    End Sub
End Module
' The example displays the following output:
'       English (United States)
'          G: 8/18/2015 1:31:17 PM
'          MM/yyyy: 08/2015
'          MM\/dd\/yyyy HH:mm: 08/18/2015 13:31
'          yyyyMMdd: 20150818
'
'       français (France)
'          G: 18/08/2015 13:31:17
'          MM/yyyy: 08/2015
'          MM\/dd\/yyyy HH:mm: 08/18/2015 13:31
'          yyyyMMdd: 20150818

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 DateTime instance vor MinSupportedDateTime oder höher als MaxSupportedDateTimeliegt, löst die -Methode einen ausArgumentOutOfRangeException. 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 Example3
{
    public static void Main()
    {
        DateTime date1 = new DateTime(1550, 7, 21);
        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 = DateTime(1550, 7, 21)
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 Date = #7/21/1550#
      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()

Konvertiert den Wert des aktuellen DateTime-Objekts unter Verwendung der Formatierungskonventionen der aktuellen Kultur 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

Die Zeichenfolgendarstellung des Werts des aktuellen DateTime-Objekts.

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

Im folgenden Beispiel wird veranschaulicht, wie die Zeichenfolgendarstellung eines DateTime von der ToString() -Methode zurückgegebenen Werts von der aktuellen Threadkultur abhängt. Die aktuelle Kultur wird in en-US, fr-FR und ja-JP geändert, und in jedem Fall wird die ToString() -Methode aufgerufen, um die Zeichenfolgendarstellung eines Datums- und Uhrzeitwerts mit dieser Kultur zurückzugeben.

using System;
using System.Globalization;

public class ToStringExample1
{
    public static void Main()
    {
        CultureInfo currentCulture = CultureInfo.CurrentCulture;
        DateTime exampleDate = new DateTime(2021, 5, 1, 18, 32, 6);

        // Change the current culture to en-US and display the date.
        CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo("en-US");
        Console.WriteLine(exampleDate.ToString());

        // Change the current culture to fr-FR and display the date.
        CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo("fr-FR");
        Console.WriteLine(exampleDate.ToString());

        // Change the current culture to ja-JP and display the date.
        CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo("ja-JP");
        Console.WriteLine(exampleDate.ToString());

        // Restore the original culture
        CultureInfo.CurrentCulture = currentCulture;
    }
}

// The example displays the following output to the console:
//       5/1/2021 6:32:06 PM
//       01/05/2021 18:32:06
//       2021/05/01 18:32:06
open System
open System.Globalization

let currentCulture = CultureInfo.CurrentCulture
let exampleDate = DateTime(2021, 5, 1, 18, 32, 6)

// Change the current culture to en-US and display the date.
CultureInfo.CurrentCulture <- CultureInfo.GetCultureInfo "en-US"
printfn $"{exampleDate.ToString()}"

// Change the current culture to fr-FR and display the date.
CultureInfo.CurrentCulture <- CultureInfo.GetCultureInfo "fr-FR"
printfn $"{exampleDate.ToString()}"

// Change the current culture to ja-JP and display the date.
CultureInfo.CurrentCulture <- CultureInfo.GetCultureInfo "ja-JP"
printfn $"{exampleDate.ToString()}"

// Restore the original culture
CultureInfo.CurrentCulture <- currentCulture

// The example displays the following output to the console:
//       5/1/2021 6:32:06 PM
//       01/05/2021 18:32:06
//       2021/05/01 18:32:06
Imports System.Globalization

Module DateToStringExample
    Public Sub Main()
        Dim currentCulture As CultureInfo = CultureInfo.CurrentCulture
        Dim exampleDate As Date = #05/01/2021 6:32:06PM#

        ' Change the current culture to en-US and display the date.
        CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo("en-US")
        Console.WriteLine(exampleDate.ToString())

        ' Change the current culture to fr-FR and display the date.
        CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo("fr-FR")
        Console.WriteLine(exampleDate.ToString())

        ' Change the current culture to ja-JP and display the date.
        CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo("ja-JP")
        Console.WriteLine(exampleDate.ToString())

        ' Restore the original culture
        CultureInfo.CurrentCulture = currentCulture
    End Sub
End Module

' The example displays the following output to the console:
'       5/1/2021 6:32:06 PM
'       01/05/2021 18:32:06
'       2021/05/01 18:32:06

Hinweise

Der Wert des aktuellen DateTime Objekts wird mithilfe des allgemeinen Datums- und Uhrzeitformatbezeichners ("G") formatiert. Um sie mit einem bestimmten Datums- und Uhrzeitformatbezeichner zu formatieren, rufen Sie die ToString(String) -Methode auf. Um sie mit dem allgemeinen Datums- und Uhrzeitformatbezeichner ("G") für eine bestimmte Kultur zu formatieren, rufen Sie die -Methode auf ToString(IFormatProvider) . Rufen Sie die ToString(String, IFormatProvider) -Methode auf, um sie mit einem bestimmten Datums- und Uhrzeitformatbezeichner und den Konventionen einer bestimmten Kultur zu formatieren.

Diese Methode verwendet Formatierungsinformationen, die aus der aktuellen Kultur abgeleitet werden. Insbesondere werden die benutzerdefinierten Formatzeichenfolgen kombiniert, die von den ShortDatePattern Eigenschaften und LongTimePattern des von der DateTimeFormatInfoThread.CurrentThread.CurrentCulture.DateTimeFormat -Eigenschaft zurückgegebenen Objekts zurückgegeben werden. Weitere Informationen finden Sie unter CultureInfo.CurrentCulture. Mit anderen Überladungen der ToString -Methode können Sie die Kultur angeben, deren Formatierung verwendet werden soll, und das Ausgabemuster des DateTime 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 DateTime instance vor MinSupportedDateTime oder höher als MaxSupportedDateTimeliegt, löst die -Methode einen ausArgumentOutOfRangeException. 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 Example2
{
    public static void Main()
    {
        DateTime date1 = new DateTime(550, 1, 1);
        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 = DateTime(550, 1, 1)
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 Date = #1/1/550#
      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} 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)) 
      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

Weitere Informationen

Gilt für:

ToString(String, IFormatProvider)

Konvertiert den Wert des aktuellen DateTime-Objekts unter Verwendung des angegebenen Formats sowie der kulturabhängigen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.

public:
 virtual System::String ^ ToString(System::String ^ format, IFormatProvider ^ provider);
public string ToString (string format, IFormatProvider provider);
public string ToString (string? format, IFormatProvider? provider);
override this.ToString : string * IFormatProvider -> string
Public Function ToString (format As String, provider As IFormatProvider) As String

Parameter

format
String

Eine Standard- oder benutzerdefinierte Formatzeichenfolge für Datum und Uhrzeit.

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

Gibt zurück

Die Zeichenfolgendarstellung des Werts des aktuellen DateTime-Objekts entsprechend der Angabe in format und provider.

Implementiert

Ausnahmen

Die Länge des format ist 1, und es ist keines der 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 provider verwendet wird.

Beispiele

Im folgenden Beispiel wird jede der standardmäßigen Formatzeichenfolgen für Datum und Uhrzeit verwendet, um die Zeichenfolgendarstellung eines Datums und einer Uhrzeit für vier verschiedene Kulturen anzuzeigen.

using System;
using System.Globalization;

public class ToStringExample4
{
   public static void Main1()
   {
      // Create an array of all supported standard date and time format specifiers.
      string[] formats = {"d", "D", "f", "F", "g", "G", "m", "o", "r",
                          "s", "t", "T", "u", "U", "Y"};
      // Create an array of four cultures.
      CultureInfo[] cultures = {CultureInfo.GetCultureInfo("de-DE"),
                                CultureInfo.GetCultureInfo("en-US"),
                                CultureInfo.GetCultureInfo("es-ES"),
                                CultureInfo.GetCultureInfo("fr-FR")};
       // Define date to be displayed.
      DateTime dateToDisplay = new DateTime(2008, 10, 31, 17, 4, 32);

      // Iterate each standard format specifier.
      foreach (string formatSpecifier in formats)
      {
         foreach (CultureInfo culture in cultures)
            Console.WriteLine("{0} Format Specifier {1, 10} Culture {2, 40}",
                              formatSpecifier, culture.Name,
                              dateToDisplay.ToString(formatSpecifier, culture));
         Console.WriteLine();
      }
   }
}

// The example displays the following output:
//    d Format Specifier      de-DE Culture                               31.10.2008
//    d Format Specifier      en-US Culture                               10/31/2008
//    d Format Specifier      es-ES Culture                               31/10/2008
//    d Format Specifier      fr-FR Culture                               31/10/2008
//    
//    D Format Specifier      de-DE Culture                Freitag, 31. Oktober 2008
//    D Format Specifier      en-US Culture                 Friday, October 31, 2008
//    D Format Specifier      es-ES Culture           viernes, 31 de octubre de 2008
//    D Format Specifier      fr-FR Culture                 vendredi 31 octobre 2008
//    
//    f Format Specifier      de-DE Culture          Freitag, 31. Oktober 2008 17:04
//    f Format Specifier      en-US Culture         Friday, October 31, 2008 5:04 PM
//    f Format Specifier      es-ES Culture     viernes, 31 de octubre de 2008 17:04
//    f Format Specifier      fr-FR Culture           vendredi 31 octobre 2008 17:04
//    
//    F Format Specifier      de-DE Culture       Freitag, 31. Oktober 2008 17:04:32
//    F Format Specifier      en-US Culture      Friday, October 31, 2008 5:04:32 PM
//    F Format Specifier      es-ES Culture  viernes, 31 de octubre de 2008 17:04:32
//    F Format Specifier      fr-FR Culture        vendredi 31 octobre 2008 17:04:32
//    
//    g Format Specifier      de-DE Culture                         31.10.2008 17:04
//    g Format Specifier      en-US Culture                       10/31/2008 5:04 PM
//    g Format Specifier      es-ES Culture                         31/10/2008 17:04
//    g Format Specifier      fr-FR Culture                         31/10/2008 17:04
//    
//    G Format Specifier      de-DE Culture                      31.10.2008 17:04:32
//    G Format Specifier      en-US Culture                    10/31/2008 5:04:32 PM
//    G Format Specifier      es-ES Culture                      31/10/2008 17:04:32
//    G Format Specifier      fr-FR Culture                      31/10/2008 17:04:32
//    
//    m Format Specifier      de-DE Culture                              31. Oktober
//    m Format Specifier      en-US Culture                               October 31
//    m Format Specifier      es-ES Culture                            31 de octubre
//    m Format Specifier      fr-FR Culture                               31 octobre
//    
//    o Format Specifier      de-DE Culture              2008-10-31T17:04:32.0000000
//    o Format Specifier      en-US Culture              2008-10-31T17:04:32.0000000
//    o Format Specifier      es-ES Culture              2008-10-31T17:04:32.0000000
//    o Format Specifier      fr-FR Culture              2008-10-31T17:04:32.0000000
//    
//    r Format Specifier      de-DE Culture            Fri, 31 Oct 2008 17:04:32 GMT
//    r Format Specifier      en-US Culture            Fri, 31 Oct 2008 17:04:32 GMT
//    r Format Specifier      es-ES Culture            Fri, 31 Oct 2008 17:04:32 GMT
//    r Format Specifier      fr-FR Culture            Fri, 31 Oct 2008 17:04:32 GMT
//    
//    s Format Specifier      de-DE Culture                      2008-10-31T17:04:32
//    s Format Specifier      en-US Culture                      2008-10-31T17:04:32
//    s Format Specifier      es-ES Culture                      2008-10-31T17:04:32
//    s Format Specifier      fr-FR Culture                      2008-10-31T17:04:32
//    
//    t Format Specifier      de-DE Culture                                    17:04
//    t Format Specifier      en-US Culture                                  5:04 PM
//    t Format Specifier      es-ES Culture                                    17:04
//    t Format Specifier      fr-FR Culture                                    17:04
//    
//    T Format Specifier      de-DE Culture                                 17:04:32
//    T Format Specifier      en-US Culture                               5:04:32 PM
//    T Format Specifier      es-ES Culture                                 17:04:32
//    T Format Specifier      fr-FR Culture                                 17:04:32
//    
//    u Format Specifier      de-DE Culture                     2008-10-31 17:04:32Z
//    u Format Specifier      en-US Culture                     2008-10-31 17:04:32Z
//    u Format Specifier      es-ES Culture                     2008-10-31 17:04:32Z
//    u Format Specifier      fr-FR Culture                     2008-10-31 17:04:32Z
//    
//    U Format Specifier      de-DE Culture       Freitag, 31. Oktober 2008 09:04:32
//    U Format Specifier      en-US Culture      Friday, October 31, 2008 9:04:32 AM
//    U Format Specifier      es-ES Culture   viernes, 31 de octubre de 2008 9:04:32
//    U Format Specifier      fr-FR Culture        vendredi 31 octobre 2008 09:04:32
//    
//    Y Format Specifier      de-DE Culture                             Oktober 2008
//    Y Format Specifier      en-US Culture                             October 2008
//    Y Format Specifier      es-ES Culture                          octubre de 2008
//    Y Format Specifier      fr-FR Culture                             octobre 2008
open System
open System.Globalization

// Create a list of all supported standard date and time format specifiers.
let formats = 
    [ "d"; "D"; "f"; "F"; "g"; "G"; "m"; "o" 
      "r"; "s"; "t"; "T"; "u"; "U"; "Y" ]

// Create a list of four cultures.
let cultures = 
    [ CultureInfo.GetCultureInfo "de-DE"
      CultureInfo.GetCultureInfo "en-US"
      CultureInfo.GetCultureInfo "es-ES"
      CultureInfo.GetCultureInfo "fr-FR" ]

// Define date to be displayed.
let dateToDisplay = DateTime(2008, 10, 31, 17, 4, 32)

// Iterate each standard format specifier.
for formatSpecifier in formats do
    for culture in cultures do
        printfn $"{formatSpecifier} Format Specifier {culture.Name, 10} Culture {dateToDisplay.ToString(formatSpecifier, culture), 40}"
    printfn ""

// The example displays the following output:
//    d Format Specifier      de-DE Culture                               31.10.2008
//    d Format Specifier      en-US Culture                               10/31/2008
//    d Format Specifier      es-ES Culture                               31/10/2008
//    d Format Specifier      fr-FR Culture                               31/10/2008
//    
//    D Format Specifier      de-DE Culture                Freitag, 31. Oktober 2008
//    D Format Specifier      en-US Culture                 Friday, October 31, 2008
//    D Format Specifier      es-ES Culture           viernes, 31 de octubre de 2008
//    D Format Specifier      fr-FR Culture                 vendredi 31 octobre 2008
//    
//    f Format Specifier      de-DE Culture          Freitag, 31. Oktober 2008 17:04
//    f Format Specifier      en-US Culture         Friday, October 31, 2008 5:04 PM
//    f Format Specifier      es-ES Culture     viernes, 31 de octubre de 2008 17:04
//    f Format Specifier      fr-FR Culture           vendredi 31 octobre 2008 17:04
//    
//    F Format Specifier      de-DE Culture       Freitag, 31. Oktober 2008 17:04:32
//    F Format Specifier      en-US Culture      Friday, October 31, 2008 5:04:32 PM
//    F Format Specifier      es-ES Culture  viernes, 31 de octubre de 2008 17:04:32
//    F Format Specifier      fr-FR Culture        vendredi 31 octobre 2008 17:04:32
//    
//    g Format Specifier      de-DE Culture                         31.10.2008 17:04
//    g Format Specifier      en-US Culture                       10/31/2008 5:04 PM
//    g Format Specifier      es-ES Culture                         31/10/2008 17:04
//    g Format Specifier      fr-FR Culture                         31/10/2008 17:04
//    
//    G Format Specifier      de-DE Culture                      31.10.2008 17:04:32
//    G Format Specifier      en-US Culture                    10/31/2008 5:04:32 PM
//    G Format Specifier      es-ES Culture                      31/10/2008 17:04:32
//    G Format Specifier      fr-FR Culture                      31/10/2008 17:04:32
//    
//    m Format Specifier      de-DE Culture                              31. Oktober
//    m Format Specifier      en-US Culture                               October 31
//    m Format Specifier      es-ES Culture                            31 de octubre
//    m Format Specifier      fr-FR Culture                               31 octobre
//    
//    o Format Specifier      de-DE Culture              2008-10-31T17:04:32.0000000
//    o Format Specifier      en-US Culture              2008-10-31T17:04:32.0000000
//    o Format Specifier      es-ES Culture              2008-10-31T17:04:32.0000000
//    o Format Specifier      fr-FR Culture              2008-10-31T17:04:32.0000000
//    
//    r Format Specifier      de-DE Culture            Fri, 31 Oct 2008 17:04:32 GMT
//    r Format Specifier      en-US Culture            Fri, 31 Oct 2008 17:04:32 GMT
//    r Format Specifier      es-ES Culture            Fri, 31 Oct 2008 17:04:32 GMT
//    r Format Specifier      fr-FR Culture            Fri, 31 Oct 2008 17:04:32 GMT
//    
//    s Format Specifier      de-DE Culture                      2008-10-31T17:04:32
//    s Format Specifier      en-US Culture                      2008-10-31T17:04:32
//    s Format Specifier      es-ES Culture                      2008-10-31T17:04:32
//    s Format Specifier      fr-FR Culture                      2008-10-31T17:04:32
//    
//    t Format Specifier      de-DE Culture                                    17:04
//    t Format Specifier      en-US Culture                                  5:04 PM
//    t Format Specifier      es-ES Culture                                    17:04
//    t Format Specifier      fr-FR Culture                                    17:04
//    
//    T Format Specifier      de-DE Culture                                 17:04:32
//    T Format Specifier      en-US Culture                               5:04:32 PM
//    T Format Specifier      es-ES Culture                                 17:04:32
//    T Format Specifier      fr-FR Culture                                 17:04:32
//    
//    u Format Specifier      de-DE Culture                     2008-10-31 17:04:32Z
//    u Format Specifier      en-US Culture                     2008-10-31 17:04:32Z
//    u Format Specifier      es-ES Culture                     2008-10-31 17:04:32Z
//    u Format Specifier      fr-FR Culture                     2008-10-31 17:04:32Z
//    
//    U Format Specifier      de-DE Culture       Freitag, 31. Oktober 2008 09:04:32
//    U Format Specifier      en-US Culture      Friday, October 31, 2008 9:04:32 AM
//    U Format Specifier      es-ES Culture   viernes, 31 de octubre de 2008 9:04:32
//    U Format Specifier      fr-FR Culture        vendredi 31 octobre 2008 09:04:32
//    
//    Y Format Specifier      de-DE Culture                             Oktober 2008
//    Y Format Specifier      en-US Culture                             October 2008
//    Y Format Specifier      es-ES Culture                          octubre de 2008
//    Y Format Specifier      fr-FR Culture                             octobre 2008
Imports System.Globalization

Module Example
    Public Sub Main4()
        ' Create an array of all supported standard date and time format specifiers.
        Dim formats() As String = {"d", "D", "f", "F", "g", "G", "m", "o", "r",
                                 "s", "t", "T", "u", "U", "Y"}
        ' Create an array of four cultures.                                 
        Dim cultures() As CultureInfo = {CultureInfo.GetCultureInfo("de-DE"),
                                       CultureInfo.GetCultureInfo("en-US"),
                                       CultureInfo.GetCultureInfo("es-ES"),
                                       CultureInfo.GetCultureInfo("fr-FR")}
        ' Define date to be displayed.
        Dim dateToDisplay As Date = #10/1/2008 17:04:32#

        ' Iterate each standard format specifier.
        For Each formatSpecifier As String In formats
            For Each culture As CultureInfo In cultures
                Console.WriteLine("{0} Format Specifier {1, 10} Culture {2, 40}",
                              formatSpecifier, culture.Name,
                              dateToDisplay.ToString(formatSpecifier, culture))
            Next
            Console.WriteLine()
        Next
    End Sub
End Module

' The example displays the following output:
'    d Format Specifier      de-DE Culture                               01.10.2008
'    d Format Specifier      en-US Culture                                10/1/2008
'    d Format Specifier      es-ES Culture                               01/10/2008
'    d Format Specifier      fr-FR Culture                               01/10/2008
'    
'    D Format Specifier      de-DE Culture                Mittwoch, 1. Oktober 2008
'    D Format Specifier      en-US Culture              Wednesday, October 01, 2008
'    D Format Specifier      es-ES Culture         miércoles, 01 de octubre de 2008
'    D Format Specifier      fr-FR Culture                  mercredi 1 octobre 2008
'    
'    f Format Specifier      de-DE Culture          Mittwoch, 1. Oktober 2008 17:04
'    f Format Specifier      en-US Culture      Wednesday, October 01, 2008 5:04 PM
'    f Format Specifier      es-ES Culture   miércoles, 01 de octubre de 2008 17:04
'    f Format Specifier      fr-FR Culture            mercredi 1 octobre 2008 17:04
'    
'    F Format Specifier      de-DE Culture       Mittwoch, 1. Oktober 2008 17:04:32
'    F Format Specifier      en-US Culture   Wednesday, October 01, 2008 5:04:32 PM
'    F Format Specifier      es-ES Culture miércoles, 01 de octubre de 2008 17:04:3
'    F Format Specifier      fr-FR Culture         mercredi 1 octobre 2008 17:04:32
'    
'    g Format Specifier      de-DE Culture                         01.10.2008 17:04
'    g Format Specifier      en-US Culture                        10/1/2008 5:04 PM
'    g Format Specifier      es-ES Culture                         01/10/2008 17:04
'    g Format Specifier      fr-FR Culture                         01/10/2008 17:04
'    
'    G Format Specifier      de-DE Culture                      01.10.2008 17:04:32
'    G Format Specifier      en-US Culture                     10/1/2008 5:04:32 PM
'    G Format Specifier      es-ES Culture                      01/10/2008 17:04:32
'    G Format Specifier      fr-FR Culture                      01/10/2008 17:04:32
'    
'    m Format Specifier      de-DE Culture                               01 Oktober
'    m Format Specifier      en-US Culture                               October 01
'    m Format Specifier      es-ES Culture                               01 octubre
'    m Format Specifier      fr-FR Culture                                1 octobre
'    
'    o Format Specifier      de-DE Culture              2008-10-01T17:04:32.0000000
'    o Format Specifier      en-US Culture              2008-10-01T17:04:32.0000000
'    o Format Specifier      es-ES Culture              2008-10-01T17:04:32.0000000
'    o Format Specifier      fr-FR Culture              2008-10-01T17:04:32.0000000
'    
'    r Format Specifier      de-DE Culture            Wed, 01 Oct 2008 17:04:32 GMT
'    r Format Specifier      en-US Culture            Wed, 01 Oct 2008 17:04:32 GMT
'    r Format Specifier      es-ES Culture            Wed, 01 Oct 2008 17:04:32 GMT
'    r Format Specifier      fr-FR Culture            Wed, 01 Oct 2008 17:04:32 GMT
'    
'    s Format Specifier      de-DE Culture                      2008-10-01T17:04:32
'    s Format Specifier      en-US Culture                      2008-10-01T17:04:32
'    s Format Specifier      es-ES Culture                      2008-10-01T17:04:32
'    s Format Specifier      fr-FR Culture                      2008-10-01T17:04:32
'    
'    t Format Specifier      de-DE Culture                                    17:04
'    t Format Specifier      en-US Culture                                  5:04 PM
'    t Format Specifier      es-ES Culture                                    17:04
'    t Format Specifier      fr-FR Culture                                    17:04
'    
'    T Format Specifier      de-DE Culture                                 17:04:32
'    T Format Specifier      en-US Culture                               5:04:32 PM
'    T Format Specifier      es-ES Culture                                 17:04:32
'    T Format Specifier      fr-FR Culture                                 17:04:32
'    
'    u Format Specifier      de-DE Culture                     2008-10-01 17:04:32Z
'    u Format Specifier      en-US Culture                     2008-10-01 17:04:32Z
'    u Format Specifier      es-ES Culture                     2008-10-01 17:04:32Z
'    u Format Specifier      fr-FR Culture                     2008-10-01 17:04:32Z
'    
'    U Format Specifier      de-DE Culture     Donnerstag, 2. Oktober 2008 00:04:32
'    U Format Specifier      en-US Culture   Thursday, October 02, 2008 12:04:32 AM
'    U Format Specifier      es-ES Culture    jueves, 02 de octubre de 2008 0:04:32
'    U Format Specifier      fr-FR Culture            jeudi 2 octobre 2008 00:04:32
'    
'    Y Format Specifier      de-DE Culture                             Oktober 2008
'    Y Format Specifier      en-US Culture                            October, 2008
'    Y Format Specifier      es-ES Culture                          octubre de 2008
'    Y Format Specifier      fr-FR Culture                             octobre 2008

Im folgenden Beispiel werden verschiedene Möglichkeiten zum Formatieren eines DateTime Werts mithilfe des invarianten DateTimeFormatInfoveranschaulicht.

using namespace System;
using namespace System::Globalization;
void main()
{
   DateTime dt = DateTime::Now;
   array<String^>^format = {L"d",L"D",L"f",L"F",L"g",L"G",L"m",L"r",L"s",L"t",L"T",L"u",L"U",L"y",L"dddd, MMMM dd yyyy",L"ddd, MMM d \"'\"yy",L"dddd, MMMM dd",L"M/yy",L"dd-MM-yy"};
   String^ date;
   for ( int i = 0; i < format->Length; i++ )
   {
      date = dt.ToString( format[ i ], DateTimeFormatInfo::InvariantInfo );
      Console::WriteLine( String::Concat( format[ i ], L" :", date ) );

   }
   
   /** Output.
       *
       * d :08/17/2000
       * D :Thursday, August 17, 2000
       * f :Thursday, August 17, 2000 16:32
       * F :Thursday, August 17, 2000 16:32:32
       * g :08/17/2000 16:32
       * G :08/17/2000 16:32:32
       * m :August 17
       * r :Thu, 17 Aug 2000 23:32:32 GMT
       * s :2000-08-17T16:32:32
       * t :16:32
       * T :16:32:32
       * u :2000-08-17 23:32:32Z
       * U :Thursday, August 17, 2000 23:32:32
       * y :August, 2000
       * dddd, MMMM dd yyyy :Thursday, August 17 2000
       * ddd, MMM d "'"yy :Thu, Aug 17 '00
       * dddd, MMMM dd :Thursday, August 17
       * M/yy :8/00
       * dd-MM-yy :17-08-00
       */
}
open System
open System.Globalization

let dt = DateTime.Now
let formats =
    [ "d"; "D"
      "f"; "F"
      "g"; "G"
      "m"
      "r"
      "s"
      "t"; "T"
      "u"; "U"
      "y"
      "dddd, MMMM dd yyyy"
      "ddd, MMM d \"'\"yy"
      "dddd, MMMM dd"
      "M/yy"
      "dd-MM-yy" ]

for format in formats do
    let date = dt.ToString(format, DateTimeFormatInfo.InvariantInfo)
    printfn $"{format}: {date}"

// Output.
//    d: 08/17/2000
//    D: Thursday, August 17, 2000
//    f: Thursday, August 17, 2000 16:32
//    F: Thursday, August 17, 2000 16:32:32
//    g: 08/17/2000 16:32
//    G: 08/17/2000 16:32:32
//    m: August 17
//    r: Thu, 17 Aug 2000 23:32:32 GMT
//    s: 2000-08-17T16:32:32
//    t: 16:32
//    T: 16:32:32
//    u: 2000-08-17 23:32:32Z
//    U: Thursday, August 17, 2000 23:32:32
//    y: August, 2000
//    dddd, MMMM dd yyyy: Thursday, August 17 2000
//    ddd, MMM d "'"yy: Thu, Aug 17 '00
//    dddd, MMMM dd: Thursday, August 17
//    M/yy: 8/00
//    dd-MM-yy: 17-08-00
using System;
using System.Globalization;

public class MainClass
{
    public static void Main(string[] args)
    {
        DateTime dt = DateTime.Now;
        String[] format = {
            "d", "D",
            "f", "F",
            "g", "G",
            "m",
            "r",
            "s",
            "t", "T",
            "u", "U",
            "y",
            "dddd, MMMM dd yyyy",
            "ddd, MMM d \"'\"yy",
            "dddd, MMMM dd",
            "M/yy",
            "dd-MM-yy",
        };
        string date;
        for (int i = 0; i < format.Length; i++)
        {
            date = dt.ToString(format[i], DateTimeFormatInfo.InvariantInfo);
            Console.WriteLine(string.Concat(format[i], " :", date));
        }

        /** Output.
         *
         * d :08/17/2000
         * D :Thursday, August 17, 2000
         * f :Thursday, August 17, 2000 16:32
         * F :Thursday, August 17, 2000 16:32:32
         * g :08/17/2000 16:32
         * G :08/17/2000 16:32:32
         * m :August 17
         * r :Thu, 17 Aug 2000 23:32:32 GMT
         * s :2000-08-17T16:32:32
         * t :16:32
         * T :16:32:32
         * u :2000-08-17 23:32:32Z
         * U :Thursday, August 17, 2000 23:32:32
         * y :August, 2000
         * dddd, MMMM dd yyyy :Thursday, August 17 2000
         * ddd, MMM d "'"yy :Thu, Aug 17 '00
         * dddd, MMMM dd :Thursday, August 17
         * M/yy :8/00
         * dd-MM-yy :17-08-00
         */
    }
}
Option Explicit
Option Strict

Imports System.Globalization

Public Class MainClass
    
    Public Shared Sub Main()
        Dim dt As DateTime = DateTime.Now
        Dim myformat() As String =  {"d", "D", _
                                    "f", "F", _
                                    "g", "G", _
                                    "m", _
                                    "r", _
                                    "s", _
                                    "t", "T", _
                                    "u", "U", _
                                    "y", _
                                    "dddd, MMMM dd yyyy", _
                                    "ddd, MMM d ""'""yy", _
                                    "dddd, MMMM dd", _
                                    "M/yy", _
                                    "dd-MM-yy"}
        Dim mydate As String
        Dim i As Integer
        For i = 0 To myformat.Length - 1
            mydate = dt.ToString(myformat(i), DateTimeFormatInfo.InvariantInfo)
            Console.WriteLine(String.Concat(myformat(i), " :", mydate))
        Next i

    ' Output.
    '
    ' d :08/17/2000
    ' D :Thursday, August 17, 2000
    ' f :Thursday, August 17, 2000 16:32
    ' F :Thursday, August 17, 2000 16:32:32
    ' g :08/17/2000 16:32
    ' G :08/17/2000 16:32:32
    ' m :August 17
    ' r :Thu, 17 Aug 2000 23:32:32 GMT
    ' s :2000-08-17T16:32:32
    ' t :16:32
    ' T :16:32:32
    ' u :2000-08-17 23:32:32Z
    ' U :Thursday, August 17, 2000 23:32:32
    ' y :August, 2000
    ' dddd, MMMM dd yyyy :Thursday, August 17 2000
    ' ddd, MMM d "'"yy :Thu, Aug 17 '00
    ' dddd, MMMM dd :Thursday, August 17
    ' M/yy :8/00
    ' dd-MM-yy :17-08-00
    End Sub
End Class

Hinweise

Der format Parameter kann entweder ein einzelnes Formatbezeichnerzeichen (siehe Standardformatzeichenfolgen für Datum und Uhrzeit) oder ein benutzerdefiniertes Formatmuster (siehe Benutzerdefinierte Datums- und Uhrzeitformatzeichenfolgen) enthalten. Wenn format oder eine leere Zeichenfolge ("") ist null , wird der Standardformatbezeichner "G" verwendet.

Der provider Parameter definiert das Muster, das den Standardformatbezeichnern entspricht, sowie die Symbole und Namen von Datums- und Uhrzeitkomponenten. Der provider Parameter kann einer der folgenden Sein:

  • Ein CultureInfo -Objekt, das die Kultur darstellt, deren Formatierungskonventionen in der zurückgegebenen Zeichenfolge widergespiegelt werden sollen. 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.

  • Ein benutzerdefiniertes Objekt, das die IFormatProvider -Schnittstelle implementiert. Die - GetFormat Methode gibt ein DateTimeFormatInfo -Objekt zurück, das Formatierungsinformationen bereitstellt.

Wenn provider ist null, wird die DateTimeFormatInfo der aktuellen Kultur zugeordnete verwendet. Weitere Informationen finden Sie unter CultureInfo.CurrentCulture.

Hinweise für Aufrufer

Die ToString(String, IFormatProvider) -Methode gibt die Zeichenfolgendarstellung des Datums und der Uhrzeit im Kalender zurück, der provider vom Parameter verwendet wird. Sein Kalender wird durch die Calendar -Eigenschaft definiert. Wenn der Wert der aktuellen DateTime instance vor MinSupportedDateTime oder höher als MaxSupportedDateTimeliegt, löst die -Methode einen ausArgumentOutOfRangeException. 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 Example4
{
    public static void Main()
    {
        CultureInfo arSA = new CultureInfo("ar-SA");
        arSA.DateTimeFormat.Calendar = new UmAlQuraCalendar();
        DateTime date1 = new DateTime(1890, 9, 10);

        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 = DateTime(1890, 9, 10)

try
    date1.ToString("d", arSA)
    |> printfn "%s"
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 5/13/2029
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim arSA As New CultureInfo("ar-SA")
      arSA.DateTimeFormat.Calendar = New UmAlQuraCalendar() 
      Dim date1 As Date = #09/10/1890#

      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: