Freigeben über


Datums- und Uhrzeitstandardformatzeichenfolgen

Eine standardmäßige Formatzeichenfolge für Datum und Uhrzeit verwendet einen einzelnen Formatbezeichner, um die Textdarstellung eines Datums- und Uhrzeitwerts 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. Weitere Informationen finden Sie unter Benutzerdefinierte und DateTime-Formatzeichenfolgen. Eine standardmäßige oder benutzerdefinierte Formatzeichenfolge kann auf zwei Arten verwendet werden:

  • Zum Definieren der Zeichenfolge, die das Ergebnis eines Formatierungsvorgangs ist.

  • Zum Definieren der Textdarstellung eines Datums- und Uhrzeitwerts, der bei einem Analysevorgang in einen DateTimeOffset-Wert oder in einen DateTime-Wert konvertiert werden kann.

Standard-Formatzeichenfolgen für Datum und Uhrzeit können mit dem Wert DateTime und mit dem Wert DateTimeOffset verwendet werden.

TippTipp

Sie können das Formathilfsprogramm herunterladen, eine Anwendung, mit der Sie Formatzeichenfolgen auf numerische Werte oder auf Datums- und Zeitwerte anwenden und die Ergebniszeichenfolge anzeigen können.

In der folgenden Tabelle werden die Standardformatbezeichner für Datum und Uhrzeit beschrieben. Sofern nicht anders angegeben, erzeugt ein bestimmter Standardformatbezeichner für Datum und Uhrzeit eine identische Zeichenfolgendarstellung, unabhängig davon, ob sie mit einem DateTime-Wert oder einem DateTimeOffset-Wert verwendet wird. Weitere Informationen zum Verwenden von standardmäßigen Formatzeichenfolgen für Datum und Uhrzeit finden Sie im Abschnitt Hinweise.

Formatbezeichner

Beschreibung

Beispiele

"d"

Kurzes Datumsmuster.

Weitere Informationen finden Sie unter Der Formatbezeichner "d" für das kurze Datum.

15.06.2009 13:45:30 -> 6/15/2009 (en-US)

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

15.06.2009 13:45:30 -> 2009/06/15 (ja-JP)

"D"

Langes Datumsmuster.

Weitere Informationen finden Sie unter Der Formatbezeichner "D" für das lange Datum.

15.06.2009 13:45:30 -> Monday, June 15, 2009 (en-US)

15.06.2009 13:45:30 -> 15 июня 2009 г. (ru-RU)

15.06.2009 13:45:30 -> Montag, 15. Juni 2009 (de-DE)

"f"

Vollständiges Datums-/Zeitmuster (kurze Zeit).

Weitere Informationen finden Sie unter Der Formatbezeichner "f" für vollständiges Datum und kurze Zeit.

15.06.2009 13:45:30 -> Monday, June 15, 2009 1:45 PM (en-US)

15.06.2009 13:45:30 - > Höhle 15 juni 2009 13:45 (sv-SE)

15.06.2009 13:45:30 -> Δευτέρα, 15 Ιουνίου 2009 1:45 μμ (el-GR)

"F"

Vollständiges Datums-/Zeitmuster (lange Zeit).

Weitere Informationen finden Sie unter Der Formatbezeichner "F" für vollständiges Datum und lange Zeit.

15.06.2009 13:45:30 -> Monday, June 15, 2009 1:45:30 PM (en-US)

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

15.06.2009 13:45:30 -> Δευτέρα, 15 Ιουνίου 2009 1:45:30 μμ (el-GR)

"g"

Allgemeines Datums-/Zeitmuster (kurze Zeit).

Weitere Informationen finden Sie unter Der allgemeine Formatbezeichner "g" für Datum und kurze Zeit.

15.06.2009 13:45:30 -> 6/15/2009 1:45 PM (en-US)

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

15.06.2009 13:45:30 -> 2009/6/15 13:45 (zh-CN)

"G"

Allgemeines Datums-/Zeitmuster (lange Zeit).

Weitere Informationen finden Sie unter Der allgemeine Formatbezeichner "G" für Datum und lange Zeit.

15.06.2009 13:45:30 -> 6/15/2009 1:45:30 PM (en-US)

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

15.06.2009 13:45:30 -> 2009/6/15 13:45:30 (zh-CN)

"M", "m"

Monatstagmuster.

Weitere Informationen finden Sie unter Der Formatbezeichner "M", "m" für den Monat.

15.06.2009 13:45:30 -> June 15 (en-US)

15.06.2009 13:45:30 -> 15 juni (da-DK)

15.06.2009 13:45:30 -> 15 Juni (id-ID)

"O", "o"

Zurückkonvertieren von Datums-/Zeitmuster.

Weitere Informationen finden Sie unter Der Formatbezeichner "O", "o" für Roundtrips.

15.06.2009 13:45:30 -> 2009-06-15T13:45:30.0900000

"R", "r"

RFC1123-Muster.

Weitere Informationen finden Sie unter Der RFC1123-Formatbezeichner "R", "r".

15.06.2009 13:45:30 - > Montag 15. Juni 2009 20:45:30 GMT

"s"

Sortierbares Datums-/Zeitmuster.

Weitere Informationen finden Sie unter Der sortierbare Formatbezeichner "s".

15.06.2009 13:45:30 -> 2009-06-15T13:45:30

"t"

Kurzes Zeitmuster.

Weitere Informationen finden Sie unter Der Formatbezeichner "t" für kurze Zeit.

15.06.2009 13:45:30 -> 1:45 PM (en-US)

15.06.2009 13:45:30 -> 13:45 (hr-HR)

15.06.2009 13:45:30 -> 01:45 م (ar-EG)

"T"

Langes Zeitmuster.

Weitere Informationen finden Sie unter Der Formatbezeichner "T" für lange Zeit.

15.06.2009 13:45:30 -> 1:45:30 PM (en-US)

15.06.2009 13:45:30 -> 13:45:30 (hr-HR)

15.06.2009 13:45:30 -> 01:45:30 م (ar-EG)

"u"

Universelles, sortierbares Datums-/Zeitmuster.

Weitere Informationen finden Sie unter Der universelle sortierbare Formatbezeichner "u".

15.06.2009 13:45:30 -> 2009-06-15 20:45:30Z

"U"

Universelles Datums-/Zeitmuster (Koordinierte Weltzeit).

Weitere Informationen finden Sie unter Der universelle vollständige Formatbezeichner "U".

15.06.2009 13:45:30 -> Monday, June 15, 2009 8:45:30 PM (en-US)

15.06.2009 13:45:30 -> den 15 juni 2009 20:45:30 (sv-SE)

15.06.2009 13:45:30 -> Δευτέρα, 15 Ιουνίου 2009 8:45:30 μμ (el-GR)

"Y", "y"

Jahr-Monat-Muster.

Weitere Informationen finden Sie unter Der Formatbezeichner "Y", "y" für Jahr-Monat.

15.06.2009 13:45:30 -> June, 2009 (en-US)

15.06.2009 13:45:30 -> juni 2009 (da-DK)

15.06.2009 13:45:30 -> Juni 2009 (id-ID)

Jedes andere einzelne Zeichen

Unbekannter Bezeichner.

Löst eine FormatException zur Laufzeit aus.

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
    Dim thisDate As Date = #03/15/2008#
    Console.WriteLine(thisDate.ToString("d"))     ' Displays 3/15/2008
    
    // 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
    
  • Sie können ein CultureInfo-Objekt, das die Kultur darstellt, deren Formatierung verwendet werden soll, an eine Methode mit einem IFormatProvider-Parameter übergeben. 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
    Dim thisDate As Date = #03/15/2008#
    Dim culture As New CultureInfo("pt-BR")      
    Console.WriteLine(thisDate.ToString("d", culture))   ' Displays 15/3/2008
    
    // 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
    
  • Sie können ein DateTimeFormatInfo-Objekt, das Formatierungsinformationen liefert, an eine Methode mit einem IFormatProvider-Parameter übergeben. Das folgenden Beispiel zeigt ein Datum unter Verwendung des kurzen Datumsformat aus einem DateTimeFormatInfo-Objekt für die Kultur hr-HR an.

    ' 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
    
    // 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
    

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 die DateTimeFormatInfo.InvariantInfo-Eigenschaft

Benutzerdefinierte Formatzeichenfolge

"O" oder "o"

Keiner

yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffzz

"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 in Analysevorgängen auch mit der DateTime.ParseExact-Methode oder mit der DateTimeOffset.ParseExact-Methode verwendet werden. Dabei muss eine Eingabezeichenfolge genau einem bestimmten Muster entsprechen, damit der Analysevorgang erfolgreich durchgeführt wird. Viele Standardformatzeichenfolgen entsprechen mehreren benutzerdefinierten Formatzeichenfolgen. Ein Datums- und Uhrzeitwert kann also in einer Vielzahl von Formaten dargestellt werden, und dennoch wird der Analysevorgang erfolgreich durchgeführt. Sie können die benutzerdefinierten Formatzeichenfolgen festlegen, 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.

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
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("   {0}", 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

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

Der Formatbezeichner "d" für das kurze Datum

Der Standardformatbezeichner "d" stellt eine benutzerdefinierte Formatzeichenfolge für Datum und Uhrzeit dar, die von der DateTimeFormatInfo.ShortDatePattern-Eigenschaft einer bestimmten Kultur definiert wird. Die benutzerdefinierte Formatzeichenfolge, die durch die ShortDatePattern-Eigenschaft der invarianten Kultur zurückgegeben wird, lautet beispielsweise "MM/dd/yyyy".

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

Eigenschaft

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 d-Formatbezeichner verwendet, um einen Datums- und Zeitwert anzuzeigen.

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                       
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                       

Zurück zur Tabelle

Der Formatbezeichner "D" für langes Datum

Der Standardformatbezeichner "D" stellt eine benutzerdefinierte Formatzeichenfolge für Datum und Uhrzeit 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, die die Formatierung der zurückgegebenen Zeichenfolge steuern können.

Eigenschaft

Beschreibung

LongDatePattern

Definiert das Gesamtformat der Ergebniszeichenfolge.

DayNames

Definiert die lokalisierten Tagesnamen, die in der Ergebniszeichenfolge vorkommen können.

MonthNames

Definiert die lokalisierten Monatsnamen, die in der Ergebniszeichenfolge vorkommen können.

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

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                        
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                        

Zurück zur Tabelle

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 von den 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 von der DateTimeFormatInfo.LongDatePattern-Eigenschaft und DateTimeFormatInfo.ShortTimePattern-Eigenschaft einiger Kulturen zurückgegebene benutzerdefinierte Formatbezeichner nutzt möglicherweise nicht alle Eigenschaften.

Eigenschaft

Beschreibung

LongDatePattern

Definiert das Format der Datumskomponente der Ergebniszeichenfolge.

ShortTimePattern

Definiert das Format der Zeitkomponente der Ergebniszeichenfolge.

DayNames

Definiert die lokalisierten Tagesnamen, die in der Ergebniszeichenfolge vorkommen können.

MonthNames

Definiert die lokalisierten Monatsnamen, die in der Ergebniszeichenfolge vorkommen können.

TimeSeparator

Definiert die Zeichenfolge, die die Komponenten Stunde, Minute und Sekunde einer Uhrzeit trennt.

AMDesignator

Definiert die Zeichenfolge, die Zeiten zwischen Mitternacht und Mittag im 12-Stunden-Format angibt.

PMDesignator

Definiert die Zeichenfolge, die Zeiten zwischen Mittag und Mitternacht im 12-Stunden-Format angibt.

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

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                       
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                       

Zurück zur Tabelle

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

Der Standardformatbezeichner "F" stellt eine benutzerdefinierte Formatzeichenfolge für Datum und Uhrzeit dar, die von der aktuellen 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 von der FullDateTimePattern-Eigenschaft einiger Kulturen zurückgegebene benutzerdefinierte Formatbezeichner nutzt möglicherweise nicht alle Eigenschaften.

Eigenschaft

Beschreibung

FullDateTimePattern

Definiert das Gesamtformat der Ergebniszeichenfolge.

DayNames

Definiert die lokalisierten Tagesnamen, die in der Ergebniszeichenfolge vorkommen können.

MonthNames

Definiert die lokalisierten Monatsnamen, die in der Ergebniszeichenfolge vorkommen können.

TimeSeparator

Definiert die Zeichenfolge, die die Komponenten Stunde, Minute und Sekunde einer Uhrzeit trennt.

AMDesignator

Definiert die Zeichenfolge, die Zeiten zwischen Mitternacht und Mittag im 12-Stunden-Format angibt.

PMDesignator

Definiert die Zeichenfolge, die Zeiten zwischen Mittag und Mitternacht im 12-Stunden-Format angibt.

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

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                       
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                       

Zurück zur Tabelle

Der allgemeine Formatbezeichner "g" für 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 von den 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 von der DateTimeFormatInfo.ShortDatePattern-Eigenschaft und der DateTimeFormatInfo.ShortTimePattern-Eigenschaft einiger Kulturen zurückgegebene benutzerdefinierte Formatbezeichner nutzt möglicherweise nicht alle Eigenschaften.

Eigenschaft

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 Zeiten zwischen Mitternacht und Mittag im 12-Stunden-Format angibt.

PMDesignator

Definiert die Zeichenfolge, die Zeiten zwischen Mittag und Mitternacht im 12-Stunden-Format angibt.

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

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                        
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                        

Zurück zur Tabelle

Der allgemeine Formatbezeichner "G" für 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 von den 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 von der DateTimeFormatInfo.ShortDatePattern-Eigenschaft und der DateTimeFormatInfo.LongTimePattern-Eigenschaft einiger Kulturen zurückgegebene benutzerdefinierte Formatbezeichner nutzt möglicherweise nicht alle Eigenschaften.

Eigenschaft

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 Zeiten zwischen Mitternacht und Mittag im 12-Stunden-Format angibt.

PMDesignator

Definiert die Zeichenfolge, die Zeiten zwischen Mittag und Mitternacht im 12-Stunden-Format angibt.

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

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                       
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                       

Zurück zur Tabelle

Der Formatbezeichner "M", "m" für den Monat

Der Standardformatbezeichner "M" oder "m" stellt eine benutzerdefinierte Formatzeichenfolge für Datum und Uhrzeit dar, die von der aktuellen DateTimeFormatInfo.MonthDayPattern-Eigenschaft definiert wird. Die benutzerdefinierte Formatzeichenfolge für die invariante Kultur lautet beispielsweise "MMMM dd".

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

Eigenschaft

Beschreibung

MonthDayPattern

Definiert das Gesamtformat der Ergebniszeichenfolge.

MonthNames

Definiert die lokalisierten Monatsnamen, die in der Ergebniszeichenfolge vorkommen können.

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

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                       
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                       

Zurück zur Tabelle

Der 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. Für DateTime-Werte wurde diese Formatzeichenfolge entwickelt, um Datums- und Uhrzeitwerte zusammen mit der DateTime.Kind-Eigenschaft in Text beizubehalten. Die formatierte Zeichenfolge kann mit der DateTime.Parse(String, IFormatProvider, DateTimeStyles)-Methode oder mit DateTime.ParseExact-Methode rückkonvertiert werden, wenn der styles-Parameter auf DateTimeStyles.RoundtripKind festgelegt wird.

Der Standardformatbezeichner "O" oder "o" entspricht der benutzerdefinierten Formatzeichenfolge "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK" für DateTime-Werte und der benutzerdefinierten Formatzeichenfolge "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffzzz" für DateTimeOffset-Werte. In dieser Zeichenfolge signalisieren die einfachen Anführungszeichen, die einzelne Zeichen wie Bindestriche, Doppelpunkte oder den Buchstaben "T" begrenzen, dass das einzelne Zeichen ein Literal ist, das nicht geändert werden kann. Die Anführungszeichen werden nicht in der Ausgabezeichenfolge angezeigt.

Das Muster für diesen Bezeichner spiegelt einen definierten Standard (ISO 8601) wider. Das Muster ist daher unabhängig von der verwendeten Kultur oder dem bereitgestellten Formatanbieter immer identisch. Zeichenfolgen, die an die Parse-Methode oder ParseExact-Methode weitergegeben werden, müssen genau diesem benutzerdefinierten Formatmuster entsprechen, oder eine FormatException wird ausgelöst.

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

Das folgende Beispiel verwendet den o-Formatbezeichner, um einen DateTime-Wert und einen DateTimeOffset-Wert in einem System in der Zeitzone Pacific Standard Time anzuzeigen.

Dim date1 As Date = #4/10/2008 6:30AM#
Dim dateOffset As New DateTimeOffset(date1, TimeZoneInfo.Local.GetUtcOFfset(date1))
Console.WriteLine(date1.ToString("o"))
' Displays 2008-04-10T06:30:00.0000000                        
Console.WriteLine(dateOffset.ToString("o"))
' Displays 2008-04-10T06:30:00.0000000-07:00                       
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
DateTimeOffset dateOffset = new DateTimeOffset(date1, 
                            TimeZoneInfo.Local.GetUtcOffset(date1));
Console.WriteLine(date1.ToString("o"));
// Displays 2008-04-10T06:30:00.0000000                        
Console.WriteLine(dateOffset.ToString("o"));
// Displays 2008-04-10T06:30:00.0000000-07:00                       

Im folgenden Beispiel wird der o-Formatbezeichner verwendet, um eine formatierte Zeichenfolge zu erstellen, und anschließend wird der ursprüngliche Datums- und Uhrzeitwert wiederhergestellt, indem eine Parse-Methode für Datum und Uhrzeit aufgerufen wird.

' 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.
// 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 {0} {1} to {2} {3}.", originalDate, originalDate.Kind, 
                  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 {0} {1} to {2} {3}.", originalDate, originalDate.Kind, 
                  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 {0} {1} to {2} {3}.", originalDate, originalDate.Kind, 
                  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 {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

Der RFC1123-Formatbezeichner "R", "r"

Der Standardformatbezeichner "R" oder "r" stellt eine benutzerdefinierte Formatzeichenfolge für Datum und Uhrzeit dar, die von der aktuellen DateTimeFormatInfo.RFC1123Pattern-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 "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, die von der DateTimeFormatInfo.InvariantInfo-Eigenschaft zurückgegeben wurden, die die invariante Kultur darstellt.

Eigenschaft

Beschreibung

RFC1123Pattern

Definiert das Format der Ergebniszeichenfolge.

AbbreviatedDayNames

Definiert die abgekürzten Tagesnamen, die in der Ergebniszeichenfolge vorkommen können.

AbbreviatedMonthNames

Definiert die abgekürzten Monatsnamen, die in der Ergebniszeichenfolge vorkommen können.

Auch wenn eine Zeitangabe gemäß der RFC-Spezifikation 1123 als koordinierte Weltzeit (UTC) ausgedrückt wird, wird der Wert des DateTime-Objekts oder DateTimeOffset-Objekts, das formatiert wird, durch den Formatierungsvorgang nicht geändert. Daher muss der Datums- und Uhrzeitwert von der Anwendung in UTC konvertiert werden, bevor der Formatierungsvorgang ausgeführt wird. Um diese Konvertierung durchzuführen, kann von DateTime-Werten die DateTime.ToUniversalTime-Methode und von DateTimeOffset-Werten die ToUniversalTime-Methode aufgerufen werden.

Das folgenden Beispiel verwendet den r-Formatbezeichner, um einen DateTime-Wert und einen DateTimeOffset-Wert in einem System in der Zeitzone Pacific Standard Time anzuzeigen.

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                        
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                        

Zurück zur Tabelle

Der sortierbare Formatbezeichner "s"

Der Standardformatbezeichner "s" stellt eine benutzerdefinierte Formatzeichenfolge für Datum und Uhrzeit dar, die von der aktuellen DateTimeFormatInfo.SortableDateTimePattern-Eigenschaft definiert wird. Bei dem Muster handelt es sich um einen definierten Standard (ISO 8601). 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".

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

Das folgenden Beispiel verwendet den s-Formatbezeichner, um einen DateTime-Wert und einen DateTimeOffset-Wert in einem System in der Zeitzone Pacific Standard Time anzuzeigen.

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

Zurück zur Tabelle

Der Formatbezeichner "t" für kurze Zeit

Der Standardformatbezeichner "t" stellt eine benutzerdefinierte Formatzeichenfolge für Datum und Uhrzeit 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 von den 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 von der DateTimeFormatInfo.ShortTimePattern-Eigenschaft einiger Kulturen zurückgegebene benutzerdefinierte Formatbezeichner nutzt möglicherweise nicht alle Eigenschaften.

Eigenschaft

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 Zeiten zwischen Mitternacht und Mittag im 12-Stunden-Format angibt.

PMDesignator

Definiert die Zeichenfolge, die Zeiten zwischen Mittag und Mitternacht im 12-Stunden-Format angibt.

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

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                      
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                      

Zurück zur Tabelle

Der Formatbezeichner "T" für lange Zeit

Der Standardformatbezeichner "T" stellt eine benutzerdefinierte Formatzeichenfolge für Datum und Uhrzeit dar, die von der 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 von der DateTimeFormatInfo.LongTimePattern-Eigenschaft einiger Kulturen zurückgegebene benutzerdefinierte Formatbezeichner nutzt möglicherweise nicht alle Eigenschaften.

Eigenschaft

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 Zeiten zwischen Mitternacht und Mittag im 12-Stunden-Format angibt.

PMDesignator

Definiert die Zeichenfolge, die Zeiten zwischen Mittag und Mitternacht im 12-Stunden-Format angibt.

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

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                      
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                      

Zurück zur Tabelle

Der universelle sortierbare Formatbezeichner "u"

Der Standardformatbezeichner "u" stellt eine benutzerdefinierte Formatzeichenfolge für Datum und Uhrzeit dar, die von der aktuellen 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 Zeitangabe als koordinierte Weltzeit (UTC) ausdrücken soll, wird der ursprüngliche DateTime-Wert oder der ursprüngliche DateTimeOffset-Wert während des Formatierungsvorgangs nicht konvertiert. Daher muss der Datums- und Uhrzeitwert von der Anwendung in UTC konvertiert werden, bevor der Formatierungsvorgang ausgeführt wird. Um diese Konvertierung durchzuführen, kann von DateTime-Werten die DateTime.ToUniversalTime-Methode und von DateTimeOffset-Werten die ToUniversalTime-Methode aufgerufen werden.

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

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

Zurück zur Tabelle

Der universelle vollständige Formatbezeichner "U"

Der Standardformatbezeichner "U" stellt eine benutzerdefinierte Formatzeichenfolge für Datum und Uhrzeit dar, die von der DateTimeFormatInfo.FullDateTimePattern-Eigenschaft einer angegebenen Kultur definiert wird. Das Muster ist gleich dem F-Muster. Der DateTime-Wert wird jedoch vor der Formatierung automatisch in UTC konvertiert.

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

Eigenschaft

Beschreibung

FullDateTimePattern

Definiert das Gesamtformat der Ergebniszeichenfolge.

DayNames

Definiert die lokalisierten Tagesnamen, die in der Ergebniszeichenfolge vorkommen können.

MonthNames

Definiert die lokalisierten Monatsnamen, die in der Ergebniszeichenfolge vorkommen können.

TimeSeparator

Definiert die Zeichenfolge, die die Komponenten Stunde, Minute und Sekunde einer Uhrzeit trennt.

AMDesignator

Definiert die Zeichenfolge, die Zeiten zwischen Mitternacht und Mittag im 12-Stunden-Format angibt.

PMDesignator

Definiert die Zeichenfolge, die Zeiten zwischen Mittag und Mitternacht im 12-Stunden-Format angibt.

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

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

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                       
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                       

Zurück zur Tabelle

Der Formatbezeichner "Y", "y" für Jahr-Monat

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

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

Eigenschaft

Beschreibung

YearMonthPattern

Definiert das Gesamtformat der Ergebniszeichenfolge.

MonthNames

Definiert die lokalisierten Monatsnamen, die in der Ergebniszeichenfolge vorkommen können.

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

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                       
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                       

Zurück zur Tabelle

Hinweise

Einstellungen der Systemsteuerung

Die Einstellungen der Regions- und Sprachoptionen in der Systemsteuerung beeinflussen die durch einen Formatierungsvorgang erstellte Ergebniszeichenfolge. Mithilfe dieser Einstellungen wird das DateTimeFormatInfo-Objekt initialisiert, das der aktuellen Threadkultur zugeordnet ist. Sie stellt Werte zur Steuerung der Formatierung bereit. Auf Computern mit anderen Einstellungen werden andere Ergebniszeichenfolgen generiert.

Wenn der CultureInfo.CultureInfo(String)-Constructor verwendet wird, um ein neues CultureInfo-Objekt zu instanziieren, das dieselbe Kultur repräsentiert wie die aktuelle Systemkultur, werden darüber hinaus alle Anpassungen, die über die Einstellung Regions- und Sprachoptionen in der Systemsteuerung eingerichtet werden, auf das neue CultureInfo-Objekt angewendet. Sie können den CultureInfo.CultureInfo(String, Boolean)-Konstruktor verwenden, um ein CultureInfo-Objekt zu erstellen, das die Anpassungen eines Systems nicht wiedergibt.

DateTimeFormatInfo-Eigenschaften

Die Formatierung wird durch die Eigenschaften des aktuellen DateTimeFormatInfo-Objekts beeinflusst, das implizit durch die aktuelle Threadkultur oder explizit durch den IFormatProvider-Parameter der Methode bereitgestellt wird, die die Formatierung aufruft. Für den IFormatProvider-Parameter sollte Ihre Anwendung ein CultureInfo-Objekt angeben, das eine Kultur darstellt, oder ein DateTimeFormatInfo-Objekt, das die Formatierungskonventionen für Datum und Uhrzeit einer bestimmten Kultur darstellt. Bei vielen der Standardformatbezeichner für Datum und Uhrzeit handelt es sich um Aliase für Formatierungsmuster, die durch Eigenschaften des aktuellen DateTimeFormatInfo-Objekts definiert werden. Die Anwendung kann das von einigen Standardformatbezeichner für Datum und Uhrzeit erstellte Ergebnis ändern, indem sie die entsprechenden Formatmuster für Datum und Uhrzeit der entsprechenden DateTimeFormatInfo-Eigenschaft ändert.

Siehe auch

Konzepte

Formatierung von Typen

Benutzerdefinierte und DateTime-Formatzeichenfolgen

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

Juli 2010

Informationen über Standardformatzeichenfolgen in Analysevorgängen wurden hinzugefügt.

Kundenfeedback.

März 2011

Ein Link zum Formathilfsprogramm wurde hinzugefügt.

Informationsergänzung.