Freigeben über


Standardformatzeichenfolgen für Datum und Uhrzeit

Eine Standardformatzeichenfolge für Datum und Uhrzeit verwendet ein einzelnes Zeichen als Formatbezeichner, um die Textdarstellung eines DateTime oder eines DateTimeOffset Werts zu definieren. Jede Formatzeichenfolge für Datum und Uhrzeit, die mehr als ein Zeichen (einschließlich Leerzeichen) enthält, wird als benutzerdefinierte Formatzeichenfolge für Datum und Uhrzeit interpretiert. Eine Standard- oder benutzerdefinierte Formatzeichenfolge kann auf zwei Arten verwendet werden:

  • So definieren Sie die Zeichenfolge, die aus einem Formatierungsvorgang resultiert.

  • So definieren Sie die Textdarstellung eines Datums- und Uhrzeitwerts, der durch einen Analysevorgang in einen DateTime- oder DateTimeOffset Wert konvertiert werden kann.

Tipp

Sie können das Formatierungsprogrammherunterladen, eine .NET Windows Forms-Anwendung, mit der Sie Formatzeichenfolgen auf numerische oder Datums- und Uhrzeitwerte anwenden und die Ergebniszeichenfolge anzeigen können. Quellcode ist für C#- und Visual Basicverfügbar.

Hinweis

Einige der C#-Beispiele in diesem Artikel werden im Try.NET Inlinecode-Runner und Playground ausgeführt. Klicken Sie auf die Schaltfläche Ausführen, um ein Beispiel in einem interaktiven Fenster auszuführen. Nachdem Sie den Code ausgeführt haben, können Sie ihn ändern und den geänderten Code durch erneutes Anklicken der Schaltfläche Ausführen ausführen. Der geänderte Code wird entweder im interaktiven Fenster ausgeführt, oder das interaktive Fenster zeigt alle C#-Compilerfehlermeldungen an, wenn die Kompilierung fehlschlägt.

Die lokalen Zeitzone des Try.NET Inlinecodeläufers und Playgrounds ist koordinierte Weltzeit oder UTC. Dies kann sich auf das Verhalten und die Ausgabe von Beispielen auswirken, die die DateTime, DateTimeOffsetund TimeZoneInfo Typen und deren Member veranschaulichen.

Tabelle mit Formatbezeichern

In der folgenden Tabelle werden die Standardformatbezeichner für Datum und Uhrzeit beschrieben. Sofern nicht anders angegeben, erzeugt ein bestimmter Standard-Datums- und Uhrzeitformatbezeichner eine identische Zeichenfolgendarstellung, unabhängig davon, ob er mit einem DateTime oder einem DateTimeOffset Wert verwendet wird. Weitere Informationen zur Verwendung von Standardmäßigen Datums- und Uhrzeitformatzeichenfolgen finden Sie unter Einstellungen der Systemsteuerung und DateTimeFormatInfo-Eigenschaften.

Formatbezeichner BESCHREIBUNG Beispiele
"d" Kurzes Datumsmuster.

Weitere Informationen:Der kurze Datumsformatbezeichner ("d").
2009-06-15T13:45:30 -> 6/15/2009 (en-US)

2009-06-15T13:45:30 -> 15/06/2009 (fr-FR)

2009-06-15T13:45:30 -> 2009/06/15 (ja-JP)
"D" Langes Datumsmuster.

Weitere Informationen:Der Formatbezeichner für das lange Datum ("D").
2009-06-15T13:45:30 -> Monday, June 15, 2009 (en-US)

2009-06-15T13:45:30 -> понедельник, 15 июня 2009 г. (ru-RU)

2009-06-15T13:45:30 -> Montag, 15. Juni 2009 (de-DE)
f Vollständiges Datums-/Zeitmuster (kurze Zeit).

Weitere Informationen finden Sie unter: Der Formatbezeichner für vollständiges Datum und kurze Zeit („f“).
2009-06-15T13:45:30 -> Monday, June 15, 2009 1:45 PM (en-US)

2009-06-15T13:45:30 -> den 15 juni 2009 13:45 (sv-SE)

2009-06-15T13:45:30 -> Δευτέρα, 15 Ιουνίου 2009 1:45 μμ (el-GR)
"F" Vollständiges Datums-/Zeitmuster (lange Zeit).

Weitere Informationen finden Sie unter: Der Formatbezeichner für vollständiges Datum und lange Zeit („F“).
2009-06-15T13:45:30 -> Monday, June 15, 2009 1:45:30 PM (en-US)

2009-06-15T13:45:30 -> den 15 juni 2009 13:45:30 (sv-SE)

2009-06-15T13:45:30 -> Δευτέρα, 15 Ιουνίου 2009 1:45:30 μμ (el-GR)
"g" Allgemeines Datums-/Zeitmuster (kurze Zeit).

Weitere Informationen finden Sie unter: Der allgemeine Formatbezeichner für Datum und kurze Zeit („g“).
2009-06-15T13:45:30 -> 6/15/2009 1:45 PM (en-US)

2009-06-15T13:45:30 -> 15/06/2009 13:45 (es-ES)

2009-06-15T13:45:30 -> 2009/6/15 13:45 (zh-CN)
"G" Allgemeines Datums-/Zeitmuster (lange Zeit).

Weitere Informationen finden Sie unter: Der allgemeine Formatbezeichner für Datum und lange Zeit („G“).
2009-06-15T13:45:30 -> 6/15/2009 1:45:30 PM (en-US)

2009-06-15T13:45:30 -> 15/06/2009 13:45:30 (es-ES)

2009-06-15T13:45:30 -> 2009/6/15 13:45:30 (zh-CN)
"M", "m" Monatstagmuster.

Weitere Informationen finden Sie unter: Der Formatbezeichner für den Monat („M“, „m“).
2009-06-15T13:45:30 -> June 15 (en-US)

2009-06-15T13:45:30 -> 15. juni (da-DK)

2009-06-15T13:45:30 -> 15 Juni (id-ID)
"O", "o" Datums-/Uhrzeitmuster für Roundtrip.

Weitere Informationen finden Sie unter: Der Formatbezeichner für Roundtrips („O“, „o“).
DateTime Werte:

2009-06-15T13:45:30 (DateTimeKind.Local) --> 2009-06-15T13:45:30.000000-07:00

2009-06-15T13:45:30 (DateTimeKind.Utc) --> 2009-06-15T13:45:30.0000000Z

2009-06-15T13:45:30 (DateTimeKind.Unspecified) --> 2009-06-15T13:45:30.00000000

DateTimeOffset Werte:

2009-06-15T13:45:30-07:00 --> 2009-06-15T13:45:30.000000-07:00
"R", "r" RFC1123-Muster.

Weitere Informationen finden Sie unter: Der RFC1123-Formatbezeichner („R“, „r“).
DateTimeOffset Eingabe: 2009-06-15T13:45:30 -> Mon, 15 Jun 2009 20:45:30 GMT
DateTime Eingabe: 2009-06-15T13:45:30 -> Mon, 15. Juni 2009 13:45:30 GMT
"s" Sortierbares Datums-/Zeitmuster.

Weitere Informationen finden Sie unter: Der sortierbare Formatbezeichner („s“).
2009-06-15T13:45:30 (DateTimeKind.Local) -> 2009-06-15T13:45:30

2009-06-15T13:45:30 (DateTimeKind.Utc) -> 2009-06-15T13:45:30
"t" Kurzes Zeitmuster.

Weitere Informationen finden Sie unter: Der Formatbezeichner für kurze Zeit („t“).
2009-06-15T13:45:30 -> 1:45 PM (en-US)

2009-06-15T13:45:30 -> 13:45 (hr-HR)

2009-06-15T13:45:30 -> 01:45 م (ar-EG)
"T" Langes Zeitmuster.

Weitere Informationen finden Sie unter: Der Formatbezeichner für lange Zeit („T“).
2009-06-15T13:45:30 -> 1:45:30 PM (en-US)

2009-06-15T13:45:30 -> 13:45:30 (hr-HR)

2009-06-15T13:45:30 -> 01:45:30 م (ar-EG)
"u" Universelles, sortierbares Datums-/Zeitmuster.

Weitere Informationen finden Sie unter: Der universelle sortierbare Formatbezeichner („u“).
Mit einem DateTime Wert: 2009-06-15T13:45:30 -> 2009-06-15 13:45:30Z

Mit einem DateTimeOffset Wert: 2009-06-15T13:45:30 -> 2009-06-15 20:45:30Z
"U" Universelles vollständiges Datums-/Uhrzeitmuster.

Weitere Informationen: Der universelle Vollformatbezeichner ("U").
2009-06-15T13:45:30 -> Montag, 15. Juni 2009 8:45:30 Uhr (en-US)

2009-06-15T13:45:30 -> den 15 juni 2009 20:45:30 (sv-SE)

2009-06-15T13:45:30 -> Δευτυρα, 15 Ιουνου 2009 8:45:30 μμ (el-GR)
"Y", "y" Jahr-Monat-Muster.

Weitere Informationen finden Sie unter: Der Formatbezeichner für Jahr-Monat („Y“).
2009-06-15T13:45:30 -> June 2009 (en-US)

2009-06-15T13:45:30 -> juni 2009 (da-DK)

2009-06-15T13:45:30 -> Juni 2009 (id-ID)
Jedes andere einzelne Zeichen Unbekannter Bezeichner. Löst eine Laufzeit FormatExceptionaus.

Funktionsweise der Standardformatzeichenfolgen

Bei einem Formatierungsvorgang ist eine Standardformatzeichenfolge lediglich ein Alias für eine benutzerdefinierte Formatzeichenfolge. Die Verwendung eines Alias, der auf eine benutzerdefinierte Formatzeichenfolge verweist, hat den Vorteil, dass der Alias unveränderlich bleibt, während die benutzerdefinierte Formatzeichenfolge selbst variieren kann. Dies ist wichtig, da sich die Zeichenfolgenentsprechungen von Datums- und Uhrzeitwerten i. d. R. abhängig von der Kultur unterscheiden. So gibt beispielsweise die Standardformatzeichenfolge "d" an, dass der Datums- und Uhrzeitwert in einem kurzen Datumsmuster angezeigt wird. Für die invariante Kultur lautet dieses Muster "MM/dd/yyyy". Für die Kultur fr-FR lautet es "dd/MM/yyyy". Für die Kultur ja-JP lautet es "yyyy/MM/dd".

Wenn eine Standardformatzeichenfolge in einem Formatierungsvorgang der benutzerdefinierte Formatzeichenfolge einer bestimmten Kultur zugeordnet wird, kann die Anwendung eine bestimmte Kultur definieren, deren benutzerdefinierte Formatzeichenfolgen auf eine der folgenden Weisen verwendet werden:

  • Sie können die Standardkultur (die aktuelle Kultur) verwenden. Das folgende Beispiel zeigt ein Datum unter Verwendung des kurzen Datumsformat der aktuellen Kultur an. In diesem Fall ist die aktuelle Kultur en-US.

    // Display using current (en-us) culture's short date format
    DateTime thisDate = new DateTime(2008, 3, 15);
    Console.WriteLine(thisDate.ToString("d"));           // Displays 3/15/2008
    
    ' Display using current (en-us) culture's short date format
    Dim thisDate As Date = #03/15/2008#
    Console.WriteLine(thisDate.ToString("d"))     ' Displays 3/15/2008
    
  • Sie können ein CultureInfo -Objekt übergeben, das die Kultur darstellt, deren Formatierung für eine Methode mit einem IFormatProvider-Parameter verwendet werden soll. Das folgenden Beispiel zeigt ein Datum unter Verwendung des kurzen Datumsformat der Kultur pt-BR an.

    // Display using pt-BR culture's short date format
    DateTime thisDate = new DateTime(2008, 3, 15);
    CultureInfo culture = new CultureInfo("pt-BR");
    Console.WriteLine(thisDate.ToString("d", culture));  // Displays 15/3/2008
    
    ' Display using pt-BR culture's short date format
    Dim thisDate As Date = #03/15/2008#
    Dim culture As New CultureInfo("pt-BR")
    Console.WriteLine(thisDate.ToString("d", culture))   ' Displays 15/3/2008
    
  • Sie können ein DateTimeFormatInfo-Objekt übergeben, das Formatierungsinformationen an eine Methode mit einem IFormatProvider Parameter bereitstellt. Im folgenden Beispiel wird ein Datum mithilfe des kurzen Datumsformats aus einem DateTimeFormatInfo-Objekt für die hr-HR Kultur angezeigt.

    // Display using date format information from hr-HR culture
    DateTime thisDate = new DateTime(2008, 3, 15);
    DateTimeFormatInfo fmt = (new CultureInfo("hr-HR")).DateTimeFormat;
    Console.WriteLine(thisDate.ToString("d", fmt));      // Displays 15.3.2008
    
    ' Display using date format information from hr-HR culture
    Dim thisDate As Date = #03/15/2008#
    Dim fmt As DateTimeFormatInfo = (New CultureInfo("hr-HR")).DateTimeFormat
    Console.WriteLine(thisDate.ToString("d", fmt))   ' Displays 15.3.2008
    

Hinweis

Informationen zum Anpassen der Muster oder Zeichenfolgen zum Formatieren von Datums- und Uhrzeitwerten finden Sie im Thema NumberFormatInfo Klasse.

In einigen Fällen dient die Standardformatzeichenfolge als praktische Abkürzung für eine längere benutzerdefinierte Formatzeichenfolge, die unveränderlich ist. Vier Standardformatzeichenfolgen fallen in diese Kategorie: „O“ (oder „o“), „R“ (oder „r“), „s“ und „u“. Diese Zeichenfolgen entsprechen benutzerdefinierten Formatzeichenfolgen, die durch die invariante Kultur definiert werden. Sie erzeugen Zeichenfolgenentsprechungen von Datums- und Uhrzeitwerten, die über Kulturen hinweg identisch sein sollen. In der folgenden Tabelle werden Informationen über dieses vier Standardformatzeichenfolgen für Datum und Uhrzeit bereitgestellt.

Standardformatzeichenfolge Definiert durch dateTimeFormatInfo.InvariantInfo-Eigenschaft Benutzerdefinierte Formatzeichenfolge
"O" oder "o" Nichts jjjj'-'MM'-'tt'T'HH':'mm':'ss'.'fffffffK
"R" oder "r" RFC1123Pattern ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
"s" SortableDateTimePattern yyyy'-'MM'-'dd'T'HH':'mm':'ss
"u" UniversalSortableDateTimePattern yyyy'-'MM'-'dd HH':'mm':'ss'Z'

Standardformatzeichenfolgen können auch bei Analysevorgängen mit den methoden DateTime.ParseExact oder DateTimeOffset.ParseExact verwendet werden, die eine Eingabezeichenfolge erfordern, um genau einem bestimmten Muster für den erfolgreichen Analysevorgang zu entsprechen. Viele Standardformatzeichenfolgen werden mehreren benutzerdefinierten Formatzeichenfolgen zugeordnet, sodass ein Datums- und Uhrzeitwert in einer Vielzahl von Formaten dargestellt werden kann und der Analysevorgang weiterhin erfolgreich ist. Sie können die benutzerdefinierte Formatzeichenfolge oder Zeichenfolgen bestimmen, die einer Standardformatzeichenfolge entsprechen, indem Sie die DateTimeFormatInfo.GetAllDateTimePatterns(Char)-Methode aufrufen. Im folgenden Beispiel werden die benutzerdefinierten Formatzeichenfolgen angezeigt, die der Standardformatzeichenfolge "d" (kurzes Datumsmuster) zugeordnet sind.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      Console.WriteLine("'d' standard format string:");
      foreach (var customString in DateTimeFormatInfo.CurrentInfo.GetAllDateTimePatterns('d'))
          Console.WriteLine($"   {customString}");
   }
}
// The example displays the following output:
//       'd' standard format string:
//          M/d/yyyy
//          M/d/yy
//          MM/dd/yy
//          MM/dd/yyyy
//          yy/MM/dd
//          yyyy-MM-dd
//          dd-MMM-yy
Imports System.Globalization

Module Example
    Public Sub Main()
        Console.WriteLine("'d' standard format string:")
        For Each customString In DateTimeFormatInfo.CurrentInfo.GetAllDateTimePatterns("d"c)
            Console.WriteLine("   {0}", customString)
        Next
    End Sub
End Module
' The example displays the following output:
'    'd' standard format string:
'       M/d/yyyy
'       M/d/yy
'       MM/dd/yy
'       MM/dd/yyyy
'       yy/MM/dd
'       yyyy-MM-dd
'       dd-MMM-yy

In den folgenden Abschnitten werden die Standardformatbezeichner für DateTime und DateTimeOffset Werte beschrieben.

Datumsformate

Diese Gruppe enthält die folgenden Formate:

Der Formatbezeichner „d“ für kurzes Datum

Der Standardformatbezeichner "d" stellt eine benutzerdefinierte Datums- und Uhrzeitformatzeichenfolge dar, die durch die DateTimeFormatInfo.ShortDatePattern-Eigenschaft einer bestimmten Kultur definiert wird. Die benutzerdefinierte Formatzeichenfolge, die von der ShortDatePattern Eigenschaft der invarianten Kultur zurückgegeben wird, lautet z. B. "MM/dd/yyyy".

In der folgenden Tabelle sind die DateTimeFormatInfo Objekteigenschaften aufgeführt, die die Formatierung der zurückgegebenen Zeichenfolge steuern.

Eigentum BESCHREIBUNG
ShortDatePattern Definiert das Gesamtformat der Ergebniszeichenfolge.
DateSeparator Definiert die Zeichenfolge, die die Komponenten jahr, Monat und Tag eines Datums trennt.

Im folgenden Beispiel wird der Formatbezeichner "d" verwendet, um einen Datums- und Uhrzeitwert anzuzeigen.

DateTime date1 = new DateTime(2008,4, 10);
Console.WriteLine(date1.ToString("d", DateTimeFormatInfo.InvariantInfo));
// Displays 04/10/2008
Console.WriteLine(date1.ToString("d",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays 4/10/2008
Console.WriteLine(date1.ToString("d",
                  CultureInfo.CreateSpecificCulture("en-NZ")));
// Displays 10/04/2008
Console.WriteLine(date1.ToString("d",
                  CultureInfo.CreateSpecificCulture("de-DE")));
// Displays 10.04.2008
Dim date1 As Date = #4/10/2008#
Console.WriteLine(date1.ToString("d", DateTimeFormatInfo.InvariantInfo))
' Displays 04/10/2008
Console.WriteLine(date1.ToString("d", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays 4/10/2008                       
Console.WriteLine(date1.ToString("d", _
                  CultureInfo.CreateSpecificCulture("en-NZ")))
' Displays 10/04/2008                       
Console.WriteLine(date1.ToString("d", _
                  CultureInfo.CreateSpecificCulture("de-DE")))
' Displays 10.04.2008                       

Zurück zur Tabelle

Der Formatbezeichner „D“ für langes Datum

Der Standardformatbezeichner "D" stellt eine benutzerdefinierte Datums- und Uhrzeitformatzeichenfolge dar, die von der aktuellen DateTimeFormatInfo.LongDatePattern-Eigenschaft definiert wird. Die benutzerdefinierte Formatzeichenfolge für die invariante Kultur lautet beispielsweise "dddd, dd MMMM yyyy".

In der folgenden Tabelle sind die Eigenschaften des DateTimeFormatInfo-Objekts aufgeführt, das die Formatierung der zurückgegebenen Zeichenfolge steuert.

Eigentum BESCHREIBUNG
LongDatePattern Definiert das Gesamtformat der Ergebniszeichenfolge.
DayNames Definiert die lokalisierten Tagnamen, die in der Ergebniszeichenfolge angezeigt werden können.
MonthNames Definiert die lokalisierten Monatsnamen, die in der Ergebniszeichenfolge angezeigt werden können.

Im folgenden Beispiel wird der D-Formatbezeichner verwendet, um einen Datums- und Zeitwert anzuzeigen.

DateTime date1 = new DateTime(2008, 4, 10);
Console.WriteLine(date1.ToString("D",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008
Console.WriteLine(date1.ToString("D",
                  CultureInfo.CreateSpecificCulture("pt-BR")));
// Displays quinta-feira, 10 de abril de 2008
Console.WriteLine(date1.ToString("D",
                  CultureInfo.CreateSpecificCulture("es-MX")));
// Displays jueves, 10 de abril de 2008
Dim date1 As Date = #4/10/2008#
Console.WriteLine(date1.ToString("D", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Thursday, April 10, 2008                        
Console.WriteLine(date1.ToString("D", _
                  CultureInfo.CreateSpecificCulture("pt-BR")))
' Displays quinta-feira, 10 de abril de 2008                        
Console.WriteLine(date1.ToString("D", _
                  CultureInfo.CreateSpecificCulture("es-MX")))
' Displays jueves, 10 de abril de 2008                        

Zurück zur Tabelle

Datums- und Uhrzeitformate

Diese Gruppe enthält die folgenden Formate:

Der Formatbezeichner „f“ für vollständiges Datum und kurze Zeit

Der Standardformatbezeichner "f" stellt eine Kombination aus dem Muster für langes Datum ("D") und dem Muster für kurze Zeit ("t") getrennt durch ein Leerzeichen dar.

Die Ergebniszeichenfolge wird durch die Formatierungsinformationen eines bestimmten DateTimeFormatInfo Objekts beeinflusst. In der folgenden Tabelle sind die DateTimeFormatInfo Objekteigenschaften aufgeführt, die die Formatierung der zurückgegebenen Zeichenfolge steuern können. Der benutzerdefinierte Formatbezeichner, der von der DateTimeFormatInfo.LongDatePattern und DateTimeFormatInfo.ShortTimePattern Eigenschaften einiger Kulturen zurückgegeben wird, verwendet möglicherweise nicht alle Eigenschaften.

Eigentum BESCHREIBUNG
LongDatePattern Definiert das Format der Datumskomponente der Ergebniszeichenfolge.
ShortTimePattern Definiert das Format der Zeitkomponente der Ergebniszeichenfolge.
DayNames Definiert die lokalisierten Tagnamen, die in der Ergebniszeichenfolge angezeigt werden können.
MonthNames Definiert die lokalisierten Monatsnamen, die in der Ergebniszeichenfolge angezeigt werden können.
TimeSeparator Definiert die Zeichenfolge, die die Komponenten "Stunde", "Minute" und "Sekunde" einer Uhrzeit trennt.
AMDesignator Definiert die Zeichenfolge, die Uhrzeiten von Mitternacht bis vor Mittag im 12-Stunden-Format angibt.
PMDesignator Definiert die Zeichenfolge, die Uhrzeiten von Mittag bis Mitternacht im 12-Stunden-Format angibt.

Im folgenden Beispiel wird der f-Formatbezeichner verwendet, um einen Datums- und Zeitwert anzuzeigen.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("f",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008 6:30 AM
Console.WriteLine(date1.ToString("f",
                  CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays jeudi 10 avril 2008 06:30
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("f", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Thursday, April 10, 2008 6:30 AM                        
Console.WriteLine(date1.ToString("f", _
                  CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays jeudi 10 avril 2008 06:30                       

Zurück zur Tabelle

Der Formatbezeichner „F“ für vollständiges Datum und lange Zeit

Der Standardformatbezeichner "F" stellt eine benutzerdefinierte Datums- und Uhrzeitformatzeichenfolge dar, die durch die aktuelle DateTimeFormatInfo.FullDateTimePattern-Eigenschaft definiert wird. Die benutzerdefinierte Formatzeichenfolge für die invariante Kultur lautet beispielsweise "dddd, dd MMMM yyyy HH:mm:ss".

In der folgenden Tabelle sind die DateTimeFormatInfo Objekteigenschaften aufgeführt, die die Formatierung der zurückgegebenen Zeichenfolge steuern können. Der benutzerdefinierte Formatbezeichner, der von der FullDateTimePattern Eigenschaft einiger Kulturen zurückgegeben wird, verwendet möglicherweise nicht alle Eigenschaften.

Eigentum BESCHREIBUNG
FullDateTimePattern Definiert das Gesamtformat der Ergebniszeichenfolge.
DayNames Definiert die lokalisierten Tagnamen, die in der Ergebniszeichenfolge angezeigt werden können.
MonthNames Definiert die lokalisierten Monatsnamen, die in der Ergebniszeichenfolge angezeigt werden können.
TimeSeparator Definiert die Zeichenfolge, die die Komponenten "Stunde", "Minute" und "Sekunde" einer Uhrzeit trennt.
AMDesignator Definiert die Zeichenfolge, die Uhrzeiten von Mitternacht bis vor Mittag im 12-Stunden-Format angibt.
PMDesignator Definiert die Zeichenfolge, die Uhrzeiten von Mittag bis Mitternacht im 12-Stunden-Format angibt.

Im folgenden Beispiel wird der F-Formatbezeichner verwendet, um einen Datums- und Zeitwert anzuzeigen.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("F",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008 6:30:00 AM
Console.WriteLine(date1.ToString("F",
                  CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays jeudi 10 avril 2008 06:30:00
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("F", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Thursday, April 10, 2008 6:30:00 AM                        
Console.WriteLine(date1.ToString("F", _
                  CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays jeudi 10 avril 2008 06:30:00                       

Zurück zur Tabelle

Der Formatbezeichner „g“ für allgemeines Datum und kurze Zeit

Der Standardformatbezeichner "g" stellt eine Kombination aus dem Muster für kurzes Datum ("d") und dem Muster für kurze Zeit ("t") getrennt durch ein Leerzeichen dar.

Die Ergebniszeichenfolge wird durch die Formatierungsinformationen eines bestimmten DateTimeFormatInfo Objekts beeinflusst. In der folgenden Tabelle sind die DateTimeFormatInfo Objekteigenschaften aufgeführt, die die Formatierung der zurückgegebenen Zeichenfolge steuern können. Der benutzerdefinierte Formatbezeichner, der von der DateTimeFormatInfo.ShortDatePattern und DateTimeFormatInfo.ShortTimePattern Eigenschaften einiger Kulturen zurückgegeben wird, verwendet möglicherweise nicht alle Eigenschaften.

Eigentum BESCHREIBUNG
ShortDatePattern Definiert das Format der Datumskomponente der Ergebniszeichenfolge.
ShortTimePattern Definiert das Format der Zeitkomponente der Ergebniszeichenfolge.
DateSeparator Definiert die Zeichenfolge, die die Komponenten jahr, Monat und Tag eines Datums trennt.
TimeSeparator Definiert die Zeichenfolge, die die Komponenten "Stunde", "Minute" und "Sekunde" einer Uhrzeit trennt.
AMDesignator Definiert die Zeichenfolge, die Uhrzeiten von Mitternacht bis vor Mittag im 12-Stunden-Format angibt.
PMDesignator Definiert die Zeichenfolge, die Uhrzeiten von Mittag bis Mitternacht im 12-Stunden-Format angibt.

Im folgenden Beispiel wird der g-Formatbezeichner verwendet, um einen Datums- und Zeitwert anzuzeigen.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("g",
                  DateTimeFormatInfo.InvariantInfo));
// Displays 04/10/2008 06:30
Console.WriteLine(date1.ToString("g",
                  CultureInfo.CreateSpecificCulture("en-us")));
// Displays 4/10/2008 6:30 AM
Console.WriteLine(date1.ToString("g",
                  CultureInfo.CreateSpecificCulture("fr-BE")));
// Displays 10/04/2008 6:30
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("g", _
                  DateTimeFormatInfo.InvariantInfo))
' Displays 04/10/2008 06:30                      
Console.WriteLine(date1.ToString("g", _
                  CultureInfo.CreateSpecificCulture("en-us")))
' Displays 4/10/2008 6:30 AM                       
Console.WriteLine(date1.ToString("g", _
                  CultureInfo.CreateSpecificCulture("fr-BE")))
' Displays 10/04/2008 6:30                        

Zurück zur Tabelle

Der Formatbezeichner „G“ für allgemeines Datum und lange Zeit

Der Standardformatbezeichner "G" stellt eine Kombination aus dem Muster für kurzes Datum ("d") und dem Muster für lange Zeit ("T") getrennt durch ein Leerzeichen dar.

Die Ergebniszeichenfolge wird durch die Formatierungsinformationen eines bestimmten DateTimeFormatInfo Objekts beeinflusst. In der folgenden Tabelle sind die DateTimeFormatInfo Objekteigenschaften aufgeführt, die die Formatierung der zurückgegebenen Zeichenfolge steuern können. Der benutzerdefinierte Formatbezeichner, der von der DateTimeFormatInfo.ShortDatePattern und DateTimeFormatInfo.LongTimePattern Eigenschaften einiger Kulturen zurückgegeben wird, verwendet möglicherweise nicht alle Eigenschaften.

Eigentum BESCHREIBUNG
ShortDatePattern Definiert das Format der Datumskomponente der Ergebniszeichenfolge.
LongTimePattern Definiert das Format der Zeitkomponente der Ergebniszeichenfolge.
DateSeparator Definiert die Zeichenfolge, die die Komponenten jahr, Monat und Tag eines Datums trennt.
TimeSeparator Definiert die Zeichenfolge, die die Komponenten "Stunde", "Minute" und "Sekunde" einer Uhrzeit trennt.
AMDesignator Definiert die Zeichenfolge, die Uhrzeiten von Mitternacht bis vor Mittag im 12-Stunden-Format angibt.
PMDesignator Definiert die Zeichenfolge, die Uhrzeiten von Mittag bis Mitternacht im 12-Stunden-Format angibt.

Im folgenden Beispiel wird der G-Formatbezeichner verwendet, um einen Datums- und Zeitwert anzuzeigen.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("G",
                  DateTimeFormatInfo.InvariantInfo));
// Displays 04/10/2008 06:30:00
Console.WriteLine(date1.ToString("G",
                  CultureInfo.CreateSpecificCulture("en-us")));
// Displays 4/10/2008 6:30:00 AM
Console.WriteLine(date1.ToString("G",
                  CultureInfo.CreateSpecificCulture("nl-BE")));
// Displays 10/04/2008 6:30:00
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("G", _
                  DateTimeFormatInfo.InvariantInfo))
' Displays 04/10/2008 06:30:00
Console.WriteLine(date1.ToString("G", _
                  CultureInfo.CreateSpecificCulture("en-us")))
' Displays 4/10/2008 6:30:00 AM                        
Console.WriteLine(date1.ToString("G", _
                  CultureInfo.CreateSpecificCulture("nl-BE")))
' Displays 10/04/2008 6:30:00                       

Zurück zur Tabelle

Die Formatbezeichner „O“, „o“ für Roundtrips

Der Standardformatbezeichner "O" oder "o" stellt eine benutzerdefinierte Formatzeichenfolge für Datum und Uhrzeit unter Verwendung eines Musters dar, bei dem die Zeitzoneninformationen beibehalten werden, und gibt eine Ergebniszeichenfolge aus, die die Anforderungen von ISO 8601 erfüllt. Bei DateTime Werten ist dieser Formatbezeichner so konzipiert, dass Datums- und Uhrzeitwerte zusammen mit der DateTime.Kind Eigenschaft im Text beibehalten werden. Die formatierte Zeichenfolge kann mithilfe der DateTime.Parse(String, IFormatProvider, DateTimeStyles)- oder DateTime.ParseExact-Methode wieder analysiert werden, wenn der parameter styles auf DateTimeStyles.RoundtripKindfestgelegt ist.

Der Standardformatbezeichner "O" oder "o" entspricht dem Standardformatbezeichner "yyyy'-'MM'-'Dd'T'HH':'mm''ss'.' fffffffK" benutzerdefinierte Formatzeichenfolge für DateTime Werte und für die "yyyy'-'MM'-'Dd'T'HH':'mm''ss'.' fffffffzzz" benutzerdefinierte Formatzeichenfolge für DateTimeOffset Werte. In dieser Zeichenfolge geben die Paare einzelner Anführungszeichen an, die einzelne Zeichen trennen, z. B. die Bindestriche, die Doppelpunkte und den Buchstaben "T", dass das einzelne Zeichen ein Literal ist, das nicht geändert werden kann. Die Apostrophe werden nicht in der Ausgabezeichenfolge angezeigt.

Der Standardformatbezeichner "O" oder "o" (und der "yyyy'MM'-'Dd'T'HH':'mm''ss'.' fffffffK" benutzerdefinierte Formatzeichenfolge) nutzt die drei Möglichkeiten, wie ISO 8601 Zeitzoneninformationen darstellt, um die Kind Eigenschaft von DateTime Werten beizubehalten:

  • Die Zeitzonenkomponente von DateTimeKind.Local Datums- und Uhrzeitwerten ist ein Offset von UTC (z. B. +01:00, -07:00). Alle DateTimeOffset Werte werden ebenfalls in diesem Format dargestellt.

  • Die Zeitzonenkomponente DateTimeKind.Utc Datums- und Uhrzeitwerte verwendet "Z" (steht für null Offset), um UTC darzustellen.

  • DateTimeKind.Unspecified Datums- und Uhrzeitwerte verfügen über keine Zeitzoneninformationen.

Da der Standardformatbezeichner „O“ oder „o“ einem internationalen Standard entspricht, nutzt der Formatierungs- oder Analysevorgang, der den Bezeichner verwendet, stets die invariante Kultur und den gregorianischen Kalender.

Zeichenfolgen, die an die Parse, TryParse, ParseExactund TryParseExact Methoden von DateTime und DateTimeOffset übergeben werden, können mithilfe des Formatbezeichners "O" oder "o" analysiert werden, wenn sie sich in einem dieser Formate befinden. Bei DateTime Objekten sollte die aufrufende Analyseüberladung auch einen styles Parameter mit dem Wert DateTimeStyles.RoundtripKindenthalten. Wenn Sie eine Analysemethode mit der benutzerdefinierten Formatzeichenfolge aufrufen, die dem Formatbezeichner "O" oder "o" entspricht, erhalten Sie nicht dieselben Ergebnisse wie "O" oder "o". Dies liegt daran, dass analysemethoden, die eine benutzerdefinierte Formatzeichenfolge verwenden, die Zeichenfolgendarstellung von Datums- und Uhrzeitwerten, die keine Zeitzonenkomponente aufweisen, nicht analysieren oder "Z" verwenden, um UTC anzugeben.

Im folgenden Beispiel wird der "o"-Formatbezeichner verwendet, um eine Reihe von DateTime Werten und einen DateTimeOffset Wert auf einem System in der US-Pazifischen Zeitzone anzuzeigen.

using System;

public class Example
{
   public static void Main()
   {
       DateTime dat = new DateTime(2009, 6, 15, 13, 45, 30,
                                   DateTimeKind.Unspecified);
       Console.WriteLine("{0} ({1}) --> {0:O}", dat, dat.Kind);

       DateTime uDat = new DateTime(2009, 6, 15, 13, 45, 30,
                                    DateTimeKind.Utc);
       Console.WriteLine("{0} ({1}) --> {0:O}", uDat, uDat.Kind);

       DateTime lDat = new DateTime(2009, 6, 15, 13, 45, 30,
                                    DateTimeKind.Local);
       Console.WriteLine("{0} ({1}) --> {0:O}\n", lDat, lDat.Kind);

       DateTimeOffset dto = new DateTimeOffset(lDat);
       Console.WriteLine($"{dto} --> {dto:O}");
   }
}
// The example displays the following output:
//    6/15/2009 1:45:30 PM (Unspecified) --> 2009-06-15T13:45:30.0000000
//    6/15/2009 1:45:30 PM (Utc) --> 2009-06-15T13:45:30.0000000Z
//    6/15/2009 1:45:30 PM (Local) --> 2009-06-15T13:45:30.0000000-07:00
//
//    6/15/2009 1:45:30 PM -07:00 --> 2009-06-15T13:45:30.0000000-07:00
Module Example
    Public Sub Main()
        Dim dat As New Date(2009, 6, 15, 13, 45, 30,
                            DateTimeKind.Unspecified)
        Console.WriteLine("{0} ({1}) --> {0:O}", dat, dat.Kind)

        Dim uDat As New Date(2009, 6, 15, 13, 45, 30, DateTimeKind.Utc)
        Console.WriteLine("{0} ({1}) --> {0:O}", uDat, uDat.Kind)

        Dim lDat As New Date(2009, 6, 15, 13, 45, 30, DateTimeKind.Local)
        Console.WriteLine("{0} ({1}) --> {0:O}", lDat, lDat.Kind)
        Console.WriteLine()

        Dim dto As New DateTimeOffset(lDat)
        Console.WriteLine("{0} --> {0:O}", dto)
    End Sub
End Module
' The example displays the following output:
'    6/15/2009 1:45:30 PM (Unspecified) --> 2009-06-15T13:45:30.0000000
'    6/15/2009 1:45:30 PM (Utc) --> 2009-06-15T13:45:30.0000000Z
'    6/15/2009 1:45:30 PM (Local) --> 2009-06-15T13:45:30.0000000-07:00
'    
'    6/15/2009 1:45:30 PM -07:00 --> 2009-06-15T13:45:30.0000000-07:00

Im folgenden Beispiel wird der "o"-Formatbezeichner verwendet, um eine formatierte Zeichenfolge zu erstellen, und stellt dann den ursprünglichen Datums- und Uhrzeitwert wieder her, indem ein Datum und eine Uhrzeit Parse Methode aufgerufen werden.

// Round-trip DateTime values.
DateTime originalDate, newDate;
string dateString;
// Round-trip a local time.
originalDate = DateTime.SpecifyKind(new DateTime(2008, 4, 10, 6, 30, 0), DateTimeKind.Local);
dateString = originalDate.ToString("o");
newDate = DateTime.Parse(dateString, null, DateTimeStyles.RoundtripKind);
Console.WriteLine($"Round-tripped {originalDate} {originalDate.Kind} to {newDate} {newDate.Kind}.");
// Round-trip a UTC time.
originalDate = DateTime.SpecifyKind(new DateTime(2008, 4, 12, 9, 30, 0), DateTimeKind.Utc);
dateString = originalDate.ToString("o");
newDate = DateTime.Parse(dateString, null, DateTimeStyles.RoundtripKind);
Console.WriteLine($"Round-tripped {originalDate} {originalDate.Kind} to {newDate} {newDate.Kind}.");
// Round-trip time in an unspecified time zone.
originalDate = DateTime.SpecifyKind(new DateTime(2008, 4, 13, 12, 30, 0), DateTimeKind.Unspecified);
dateString = originalDate.ToString("o");
newDate = DateTime.Parse(dateString, null, DateTimeStyles.RoundtripKind);
Console.WriteLine($"Round-tripped {originalDate} {originalDate.Kind} to {newDate} {newDate.Kind}.");

// Round-trip a DateTimeOffset value.
DateTimeOffset originalDTO = new DateTimeOffset(2008, 4, 12, 9, 30, 0, new TimeSpan(-8, 0, 0));
dateString = originalDTO.ToString("o");
DateTimeOffset newDTO = DateTimeOffset.Parse(dateString, null, DateTimeStyles.RoundtripKind);
Console.WriteLine($"Round-tripped {originalDTO} to {newDTO}.");
// The example displays the following output:
//    Round-tripped 4/10/2008 6:30:00 AM Local to 4/10/2008 6:30:00 AM Local.
//    Round-tripped 4/12/2008 9:30:00 AM Utc to 4/12/2008 9:30:00 AM Utc.
//    Round-tripped 4/13/2008 12:30:00 PM Unspecified to 4/13/2008 12:30:00 PM Unspecified.
//    Round-tripped 4/12/2008 9:30:00 AM -08:00 to 4/12/2008 9:30:00 AM -08:00.
' Round-trip DateTime values.
Dim originalDate, newDate As Date
Dim dateString As String
' Round-trip a local time.
originalDate = Date.SpecifyKind(#4/10/2008 6:30AM#, DateTimeKind.Local)
dateString = originalDate.ToString("o")
newDate = Date.Parse(dateString, Nothing, DateTimeStyles.RoundtripKind)
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind, _
                  newDate, newDate.Kind)
' Round-trip a UTC time.
originalDate = Date.SpecifyKind(#4/12/2008 9:30AM#, DateTimeKind.Utc)
dateString = originalDate.ToString("o")
newDate = Date.Parse(dateString, Nothing, DateTimeStyles.RoundtripKind)
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind, _
                  newDate, newDate.Kind)
' Round-trip time in an unspecified time zone.
originalDate = Date.SpecifyKind(#4/13/2008 12:30PM#, DateTimeKind.Unspecified)
dateString = originalDate.ToString("o")
newDate = Date.Parse(dateString, Nothing, DateTimeStyles.RoundtripKind)
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind, _
                  newDate, newDate.Kind)

' Round-trip a DateTimeOffset value.
Dim originalDTO As New DateTimeOffset(#4/12/2008 9:30AM#, New TimeSpan(-8, 0, 0))
dateString = originalDTO.ToString("o")
Dim newDTO As DateTimeOffset = DateTimeOffset.Parse(dateString, Nothing, DateTimeStyles.RoundtripKind)
Console.WriteLine("Round-tripped {0} to {1}.", originalDTO, newDTO)
' The example displays the following output:
'    Round-tripped 4/10/2008 6:30:00 AM Local to 4/10/2008 6:30:00 AM Local.
'    Round-tripped 4/12/2008 9:30:00 AM Utc to 4/12/2008 9:30:00 AM Utc.
'    Round-tripped 4/13/2008 12:30:00 PM Unspecified to 4/13/2008 12:30:00 PM Unspecified.
'    Round-tripped 4/12/2008 9:30:00 AM -08:00 to 4/12/2008 9:30:00 AM -08:00.

Zurück zur Tabelle

Die RFC1123-Formatbezeichner „R“, „r“

Der Standardformatbezeichner "R" oder "r" stellt eine benutzerdefinierte Datums- und Uhrzeitformatzeichenfolge dar, die von der eigenschaft DateTimeFormatInfo.RFC1123Pattern definiert wird. Bei dem Muster handelt es sich um einen definierten Standard. Die Eigenschaft ist schreibgeschützt. Es ist daher unabhängig von der verwendeten Kultur oder dem bereitgestellten Formatanbieter immer identisch. Die benutzerdefinierte Formatzeichenfolge lautet "ddd, dd MMM yyyy HH':'mm':'ss 'GMT'". Wenn dieser Standardformatbezeichner verwendet wird, wird bei der Formatierungs- oder Analysemethode immer die invariante Kultur verwendet.

Die Ergebniszeichenfolge wird von den folgenden Eigenschaften des DateTimeFormatInfo-Objekts beeinflusst, das von der DateTimeFormatInfo.InvariantInfo-Eigenschaft zurückgegeben wird, die die invariante Kultur darstellt.

Eigentum BESCHREIBUNG
RFC1123Pattern Definiert das Format der Ergebniszeichenfolge.
AbbreviatedDayNames Definiert die abgekürzten Tagnamen, die in der Ergebniszeichenfolge angezeigt werden können.
AbbreviatedMonthNames Definiert die abgekürzten Monatsnamen, die in der Ergebniszeichenfolge angezeigt werden können.

Obwohl der RFC 1123-Standard eine Zeit als koordinierte Weltzeit (UTC) ausdrückt, ändert der Formatierungsvorgang nicht den Wert des DateTime Objekts, das formatiert wird. Daher müssen Sie den DateTime Wert in UTC konvertieren, indem Sie die DateTime.ToUniversalTime-Methode aufrufen, bevor Sie den Formatierungsvorgang ausführen. Im Gegensatz dazu führen DateTimeOffset Werte diese Konvertierung automatisch aus; es ist nicht erforderlich, die DateTimeOffset.ToUniversalTime-Methode vor dem Formatierungsvorgang aufzurufen.

Im folgenden Beispiel wird der "r"-Formatbezeichner verwendet, um einen DateTime und einen DateTimeOffset Wert auf einem System in der Us-Pazifischen Zeitzone anzuzeigen.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
DateTimeOffset dateOffset = new DateTimeOffset(date1,
                            TimeZoneInfo.Local.GetUtcOffset(date1));
Console.WriteLine(date1.ToUniversalTime().ToString("r"));
// Displays Thu, 10 Apr 2008 13:30:00 GMT
Console.WriteLine(dateOffset.ToUniversalTime().ToString("r"));
// Displays Thu, 10 Apr 2008 13:30:00 GMT
Dim date1 As Date = #4/10/2008 6:30AM#
Dim dateOffset As New DateTimeOffset(date1, TimeZoneInfo.Local.GetUtcOFfset(date1))
Console.WriteLine(date1.ToUniversalTime.ToString("r"))
' Displays Thu, 10 Apr 2008 13:30:00 GMT                       
Console.WriteLine(dateOffset.ToUniversalTime.ToString("r"))
' Displays Thu, 10 Apr 2008 13:30:00 GMT                        

Zurück zur Tabelle

Der Bezeichner „s“ für sortierbares Format

Der Standardformatbezeichner "s" stellt eine benutzerdefinierte Datums- und Uhrzeitformatzeichenfolge dar, die durch die eigenschaft DateTimeFormatInfo.SortableDateTimePattern definiert wird. Das Muster spiegelt einen definierten Standard (ISO 8601) wider, und die Eigenschaft ist schreibgeschützt. Es ist daher unabhängig von der verwendeten Kultur oder dem bereitgestellten Formatanbieter immer identisch. Die benutzerdefinierte Formatzeichenfolge lautet "yyyy'-'MM'-'dd'T'HH':'mm':'ss".

Der Formatbezeichner "s" dient dazu, Ergebniszeichenfolgen zu generieren, die konsistent in aufsteigender oder absteigender Reihenfolge auf der Grundlage von Datums-und Uhrzeitwerten sortieren. Obwohl der Standardformatbezeichner "s" einen Datums- und Uhrzeitwert in einem konsistenten Format darstellt, ändert der Formatierungsvorgang nicht den Wert des Datums- und Uhrzeitobjekts, das formatiert wird, um seine DateTime.Kind Eigenschaft oder seinen DateTimeOffset.Offset Wert widerzuspiegeln. Beispielsweise sind die Ergebniszeichenfolgen, die durch die Formatierung der Datums- und Uhrzeitwerte 2014-11-15T18:32:17+00:00 und 2014-11-15T18:32:17+08:00 erzeugt werden, identisch.

Wenn dieser Standardformatbezeichner verwendet wird, wird bei der Formatierungs- oder Analysemethode immer die invariante Kultur verwendet.

Im folgenden Beispiel wird der Formatbezeichner "s" verwendet, um einen DateTime und einen DateTimeOffset Wert auf einem System in der US-Pazifischen Zeitzone anzuzeigen.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("s"));
// Displays 2008-04-10T06:30:00
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("s"))
' Displays 2008-04-10T06:30:00                       

Zurück zur Tabelle

Der Bezeichner „u“ für universelles sortierbares Format

Der Standardformatbezeichner "u" stellt eine benutzerdefinierte Datums- und Uhrzeitformatzeichenfolge dar, die durch die DateTimeFormatInfo.UniversalSortableDateTimePattern-Eigenschaft definiert wird. Bei dem Muster handelt es sich um einen definierten Standard. Die Eigenschaft ist schreibgeschützt. Es ist daher unabhängig von der verwendeten Kultur oder dem bereitgestellten Formatanbieter immer identisch. Die benutzerdefinierte Formatzeichenfolge lautet "yyyy'-'MM'-'dd HH':'mm':'ss'Z'". Wenn dieser Standardformatbezeichner verwendet wird, wird bei der Formatierungs- oder Analysemethode immer die invariante Kultur verwendet.

Obwohl die Ergebniszeichenfolge eine Zeit als koordinierte Weltzeit (UTC) ausdrücken sollte, wird während des Formatierungsvorgangs keine Konvertierung des ursprünglichen DateTime Werts ausgeführt. Daher müssen Sie einen DateTime Wert in UTC konvertieren, indem Sie die DateTime.ToUniversalTime-Methode aufrufen, bevor Sie ihn formatieren. Im Gegensatz dazu führen DateTimeOffset Werte diese Konvertierung automatisch aus; es ist nicht erforderlich, die DateTimeOffset.ToUniversalTime-Methode vor dem Formatierungsvorgang aufzurufen.

Im folgenden Beispiel wird der u-Formatbezeichner verwendet, um einen Datums- und Zeitwert anzuzeigen.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToUniversalTime().ToString("u"));
// Displays 2008-04-10 13:30:00Z
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToUniversalTime.ToString("u"))
' Displays 2008-04-10 13:30:00Z                       

Zurück zur Tabelle

Der universelle Vollformatbezeichner ("U")

Der Standardformatbezeichner "U" stellt eine benutzerdefinierte Datums- und Uhrzeitformatzeichenfolge dar, die durch die DateTimeFormatInfo.FullDateTimePattern-Eigenschaft einer bestimmten Kultur definiert wird. Das Muster entspricht dem "F"-Muster. Der DateTime Wert wird jedoch automatisch in UTC konvertiert, bevor er formatiert wird.

In der folgenden Tabelle sind die DateTimeFormatInfo Objekteigenschaften aufgeführt, die die Formatierung der zurückgegebenen Zeichenfolge steuern können. Der benutzerdefinierte Formatbezeichner, der von der FullDateTimePattern Eigenschaft einiger Kulturen zurückgegeben wird, verwendet möglicherweise nicht alle Eigenschaften.

Eigentum BESCHREIBUNG
FullDateTimePattern Definiert das Gesamtformat der Ergebniszeichenfolge.
DayNames Definiert die lokalisierten Tagnamen, die in der Ergebniszeichenfolge angezeigt werden können.
MonthNames Definiert die lokalisierten Monatsnamen, die in der Ergebniszeichenfolge angezeigt werden können.
TimeSeparator Definiert die Zeichenfolge, die die Komponenten "Stunde", "Minute" und "Sekunde" einer Uhrzeit trennt.
AMDesignator Definiert die Zeichenfolge, die Uhrzeiten von Mitternacht bis vor Mittag im 12-Stunden-Format angibt.
PMDesignator Definiert die Zeichenfolge, die Uhrzeiten von Mittag bis Mitternacht im 12-Stunden-Format angibt.

Der "U"-Formatbezeichner wird vom DateTimeOffset Typ nicht unterstützt und löst einen FormatException aus, wenn er zum Formatieren eines DateTimeOffset Werts verwendet wird.

Im folgenden Beispiel wird der "U"-Formatbezeichner verwendet, um einen Datums- und Uhrzeitwert anzuzeigen.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("U",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008 1:30:00 PM
Console.WriteLine(date1.ToString("U",
                  CultureInfo.CreateSpecificCulture("sv-FI")));
// Displays den 10 april 2008 13:30:00
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("U", CultureInfo.CreateSpecificCulture("en-US")))
' Displays Thursday, April 10, 2008 1:30:00 PM                       
Console.WriteLine(date1.ToString("U", CultureInfo.CreateSpecificCulture("sv-FI")))
' Displays den 10 april 2008 13:30:00                       

Zurück zur Tabelle

Uhrzeitformate

Diese Gruppe enthält die folgenden Formate:

Der Formatbezeichner „t“ für kurze Zeit

Der Standardformatbezeichner "t" stellt eine benutzerdefinierte Datums- und Uhrzeitformatzeichenfolge dar, die von der aktuellen DateTimeFormatInfo.ShortTimePattern-Eigenschaft definiert wird. Die benutzerdefinierte Formatzeichenfolge für die invariante Kultur lautet beispielsweise "HH:mm".

Die Ergebniszeichenfolge wird durch die Formatierungsinformationen eines bestimmten DateTimeFormatInfo Objekts beeinflusst. In der folgenden Tabelle sind die DateTimeFormatInfo Objekteigenschaften aufgeführt, die die Formatierung der zurückgegebenen Zeichenfolge steuern können. Der benutzerdefinierte Formatbezeichner, der von der DateTimeFormatInfo.ShortTimePattern Eigenschaft einiger Kulturen zurückgegeben wird, verwendet möglicherweise nicht alle Eigenschaften.

Eigentum BESCHREIBUNG
ShortTimePattern Definiert das Format der Zeitkomponente der Ergebniszeichenfolge.
TimeSeparator Definiert die Zeichenfolge, die die Komponenten "Stunde", "Minute" und "Sekunde" einer Uhrzeit trennt.
AMDesignator Definiert die Zeichenfolge, die Uhrzeiten von Mitternacht bis vor Mittag im 12-Stunden-Format angibt.
PMDesignator Definiert die Zeichenfolge, die Uhrzeiten von Mittag bis Mitternacht im 12-Stunden-Format angibt.

Im folgenden Beispiel wird der t-Formatbezeichner verwendet, um einen Datums- und Zeitwert anzuzeigen.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("t",
                  CultureInfo.CreateSpecificCulture("en-us")));
// Displays 6:30 AM
Console.WriteLine(date1.ToString("t",
                  CultureInfo.CreateSpecificCulture("es-ES")));
// Displays 6:30
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("t", _
                  CultureInfo.CreateSpecificCulture("en-us")))
' Displays 6:30 AM                        
Console.WriteLine(date1.ToString("t", _
                  CultureInfo.CreateSpecificCulture("es-ES")))
' Displays 6:30                      

Zurück zur Tabelle

Der Formatbezeichner „T“ für lange Zeit

Der Standardformatbezeichner "T" stellt eine benutzerdefinierte Datums- und Uhrzeitformatzeichenfolge dar, die durch die DateTimeFormatInfo.LongTimePattern-Eigenschaft einer bestimmten Kultur definiert wird. Die benutzerdefinierte Formatzeichenfolge für die invariante Kultur lautet beispielsweise "HH:mm:ss".

In der folgenden Tabelle sind die DateTimeFormatInfo Objekteigenschaften aufgeführt, die die Formatierung der zurückgegebenen Zeichenfolge steuern können. Der benutzerdefinierte Formatbezeichner, der von der DateTimeFormatInfo.LongTimePattern Eigenschaft einiger Kulturen zurückgegeben wird, verwendet möglicherweise nicht alle Eigenschaften.

Eigentum BESCHREIBUNG
LongTimePattern Definiert das Format der Zeitkomponente der Ergebniszeichenfolge.
TimeSeparator Definiert die Zeichenfolge, die die Komponenten "Stunde", "Minute" und "Sekunde" einer Uhrzeit trennt.
AMDesignator Definiert die Zeichenfolge, die Uhrzeiten von Mitternacht bis vor Mittag im 12-Stunden-Format angibt.
PMDesignator Definiert die Zeichenfolge, die Uhrzeiten von Mittag bis Mitternacht im 12-Stunden-Format angibt.

Im folgenden Beispiel wird der T-Formatbezeichner verwendet, um einen Datums- und Zeitwert anzuzeigen.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("T",
                  CultureInfo.CreateSpecificCulture("en-us")));
// Displays 6:30:00 AM
Console.WriteLine(date1.ToString("T",
                  CultureInfo.CreateSpecificCulture("es-ES")));
// Displays 6:30:00
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("T", _
                  CultureInfo.CreateSpecificCulture("en-us")))
' Displays 6:30:00 AM                       
Console.WriteLine(date1.ToString("T", _
                  CultureInfo.CreateSpecificCulture("es-ES")))
' Displays 6:30:00                      

Zurück zur Tabelle

Partielle Datumsformate

Diese Gruppe enthält die folgenden Formate:

Die Formatbezeichner „M“, „m“ für Monat

Der Standardformatbezeichner "M" oder "m" stellt eine benutzerdefinierte Datums- und Uhrzeitformatzeichenfolge dar, die durch die aktuelle DateTimeFormatInfo.MonthDayPattern-Eigenschaft definiert wird. Die benutzerdefinierte Formatzeichenfolge für die invariante Kultur lautet beispielsweise "MMMM dd".

In der folgenden Tabelle sind die DateTimeFormatInfo Objekteigenschaften aufgeführt, die die Formatierung der zurückgegebenen Zeichenfolge steuern.

Eigentum BESCHREIBUNG
MonthDayPattern Definiert das Gesamtformat der Ergebniszeichenfolge.
MonthNames Definiert die lokalisierten Monatsnamen, die in der Ergebniszeichenfolge angezeigt werden können.

Im folgenden Beispiel wird der m-Formatbezeichner verwendet, um einen Datums- und Zeitwert anzuzeigen.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("m",
                  CultureInfo.CreateSpecificCulture("en-us")));
// Displays April 10
Console.WriteLine(date1.ToString("m",
                  CultureInfo.CreateSpecificCulture("ms-MY")));
// Displays 10 April
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("m", _
                  CultureInfo.CreateSpecificCulture("en-us")))
' Displays April 10                        
Console.WriteLine(date1.ToString("m", _
                  CultureInfo.CreateSpecificCulture("ms-MY")))
' Displays 10 April                       

Zurück zur Tabelle

Die Formatbezeichner „Y“, „y“ für Jahr-Monat

Der Standardformatbezeichner "Y" oder "y" stellt eine benutzerdefinierte Datums- und Uhrzeitformatzeichenfolge dar, die durch die DateTimeFormatInfo.YearMonthPattern Eigenschaft einer angegebenen Kultur definiert wird. Die benutzerdefinierte Formatzeichenfolge für die invariante Kultur lautet beispielsweise "yyyy MMMM".

In der folgenden Tabelle sind die DateTimeFormatInfo Objekteigenschaften aufgeführt, die die Formatierung der zurückgegebenen Zeichenfolge steuern.

Eigentum BESCHREIBUNG
YearMonthPattern Definiert das Gesamtformat der Ergebniszeichenfolge.
MonthNames Definiert die lokalisierten Monatsnamen, die in der Ergebniszeichenfolge angezeigt werden können.

Im folgenden Beispiel wird der y-Formatbezeichner verwendet, um einen Datums- und Zeitwert anzuzeigen.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("Y",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays April, 2008
Console.WriteLine(date1.ToString("y",
                  CultureInfo.CreateSpecificCulture("af-ZA")));
// Displays April 2008
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("Y", CultureInfo.CreateSpecificCulture("en-US")))
' Displays April, 2008                       
Console.WriteLine(date1.ToString("y", CultureInfo.CreateSpecificCulture("af-ZA")))
' Displays April 2008                       

Zurück zur Tabelle

Systemsteuerungseinstellungen

In Windows beeinflussen die Einstellungen in den Regionalen und Sprachoptionen Element in der Systemsteuerung die Ergebniszeichenfolge, die von einem Formatierungsvorgang erzeugt wird. Diese Einstellungen werden verwendet, um das DateTimeFormatInfo Objekt zu initialisieren, das der aktuellen Kultur zugeordnet ist, wodurch Werte bereitgestellt werden, die zum Steuern der Formatierung verwendet werden. Computer, die unterschiedliche Einstellungen verwenden, generieren unterschiedliche Ergebniszeichenfolgen.

Wenn Sie den CultureInfo(String)-Konstruktor verwenden, um ein neues CultureInfo-Objekt zu instanziieren, das dieselbe Kultur wie die aktuelle Systemkultur darstellt, werden alle Anpassungen, die durch das Element "Regions- und Sprachoptionen" in der Systemsteuerung erstellt wurden, auf das neue CultureInfo-Objekt angewendet. Sie können den CultureInfo(String, Boolean)-Konstruktor verwenden, um ein CultureInfo-Objekt zu erstellen, das die Anpassungen eines Systems nicht widerspiegelt.

DateTimeFormatInfo-Eigenschaften

Die Formatierung wird durch Eigenschaften des aktuellen DateTimeFormatInfo-Objekts beeinflusst, das implizit von der aktuellen Kultur oder explizit vom IFormatProvider Parameter der Methode bereitgestellt wird, die Formatierung aufruft. Für den parameter IFormatProvider sollte Ihre Anwendung ein CultureInfo-Objekt angeben, das eine Kultur oder ein DateTimeFormatInfo-Objekt darstellt, das die Formatierungskonventionen für Datum und Uhrzeit einer bestimmten Kultur darstellt. Viele der Standardmäßigen Datums- und Uhrzeitformatbezeichner sind Aliase für Formatierungsmuster, die durch Eigenschaften des aktuellen DateTimeFormatInfo-Objekts definiert sind. Ihre Anwendung kann das Ergebnis ändern, das von einigen Standard-Datums- und Uhrzeitformatbezeichnern erzeugt wird, indem die entsprechenden Datums- und Uhrzeitformatmuster der entsprechenden DateTimeFormatInfo-Eigenschaft geändert werden.

Siehe auch