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.
Tipp |
---|
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" |
ddd, dd MMM yyyy HH':'mm':'ss 'GMT' |
|
"s" |
yyyy'-'MM'-'dd'T'HH':'mm':'ss |
|
"u" |
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 |
---|---|
Definiert das Gesamtformat der Ergebniszeichenfolge. |
|
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 |
---|---|
Definiert das Gesamtformat der Ergebniszeichenfolge. |
|
Definiert die lokalisierten Tagesnamen, die in der Ergebniszeichenfolge vorkommen können. |
|
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 |
---|---|
Definiert das Format der Datumskomponente der Ergebniszeichenfolge. |
|
Definiert das Format der Zeitkomponente der Ergebniszeichenfolge. |
|
Definiert die lokalisierten Tagesnamen, die in der Ergebniszeichenfolge vorkommen können. |
|
Definiert die lokalisierten Monatsnamen, die in der Ergebniszeichenfolge vorkommen können. |
|
Definiert die Zeichenfolge, die die Komponenten Stunde, Minute und Sekunde einer Uhrzeit trennt. |
|
Definiert die Zeichenfolge, die Zeiten zwischen Mitternacht und Mittag im 12-Stunden-Format angibt. |
|
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 |
---|---|
Definiert das Gesamtformat der Ergebniszeichenfolge. |
|
Definiert die lokalisierten Tagesnamen, die in der Ergebniszeichenfolge vorkommen können. |
|
Definiert die lokalisierten Monatsnamen, die in der Ergebniszeichenfolge vorkommen können. |
|
Definiert die Zeichenfolge, die die Komponenten Stunde, Minute und Sekunde einer Uhrzeit trennt. |
|
Definiert die Zeichenfolge, die Zeiten zwischen Mitternacht und Mittag im 12-Stunden-Format angibt. |
|
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 |
---|---|
Definiert das Format der Datumskomponente der Ergebniszeichenfolge. |
|
Definiert das Format der Zeitkomponente der Ergebniszeichenfolge. |
|
Definiert die Zeichenfolge, die die Komponenten Jahr, Monat und Tag eines Datums trennt. |
|
Definiert die Zeichenfolge, die die Komponenten Stunde, Minute und Sekunde einer Uhrzeit trennt. |
|
Definiert die Zeichenfolge, die Zeiten zwischen Mitternacht und Mittag im 12-Stunden-Format angibt. |
|
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 |
---|---|
Definiert das Format der Datumskomponente der Ergebniszeichenfolge. |
|
Definiert das Format der Zeitkomponente der Ergebniszeichenfolge. |
|
Definiert die Zeichenfolge, die die Komponenten Jahr, Monat und Tag eines Datums trennt. |
|
Definiert die Zeichenfolge, die die Komponenten Stunde, Minute und Sekunde einer Uhrzeit trennt. |
|
Definiert die Zeichenfolge, die Zeiten zwischen Mitternacht und Mittag im 12-Stunden-Format angibt. |
|
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 |
---|---|
Definiert das Gesamtformat der Ergebniszeichenfolge. |
|
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 |
---|---|
Definiert das Format der Ergebniszeichenfolge. |
|
Definiert die abgekürzten Tagesnamen, die in der Ergebniszeichenfolge vorkommen können. |
|
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 |
---|---|
Definiert das Format der Zeitkomponente der Ergebniszeichenfolge. |
|
Definiert die Zeichenfolge, die die Komponenten Stunde, Minute und Sekunde einer Uhrzeit trennt. |
|
Definiert die Zeichenfolge, die Zeiten zwischen Mitternacht und Mittag im 12-Stunden-Format angibt. |
|
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 |
---|---|
Definiert das Format der Zeitkomponente der Ergebniszeichenfolge. |
|
Definiert die Zeichenfolge, die die Komponenten Stunde, Minute und Sekunde einer Uhrzeit trennt. |
|
Definiert die Zeichenfolge, die Zeiten zwischen Mitternacht und Mittag im 12-Stunden-Format angibt. |
|
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 |
---|---|
Definiert das Gesamtformat der Ergebniszeichenfolge. |
|
Definiert die lokalisierten Tagesnamen, die in der Ergebniszeichenfolge vorkommen können. |
|
Definiert die lokalisierten Monatsnamen, die in der Ergebniszeichenfolge vorkommen können. |
|
Definiert die Zeichenfolge, die die Komponenten Stunde, Minute und Sekunde einer Uhrzeit trennt. |
|
Definiert die Zeichenfolge, die Zeiten zwischen Mitternacht und Mittag im 12-Stunden-Format angibt. |
|
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 |
---|---|
Definiert das Gesamtformat der Ergebniszeichenfolge. |
|
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
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. |