Teilen über


Benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit

Eine Formatzeichenfolge für Datum und Uhrzeit definiert die Textdarstellung eines DateTime-Werts oder eines DateTimeOffset-Werts, der sich aus einem Formatierungsvorgang ergibt. Sie kann auch die Darstellung eines Datums- und Uhrzeitwerts definieren, der in einem Analysevorgang erforderlich ist, um die Zeichenfolge erfolgreich in ein Datum und eine Uhrzeit zu konvertieren. Benutzerdefinierte Formatzeichenfolgen bestehen aus einem oder mehreren benutzerdefinierten Formatbezeichnern für Datum und Uhrzeit. Alle Zeichenfolgen, bei denen es sich nicht um Standardformatzeichenfolgen für Datum und Uhrzeit handelt, werden als benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit interpretiert.

Tipp

Sie können das Hilfsprogramm zur Formatierung herunterladen. Dabei handelt sich um eine Windows Forms-Anwendung für .NET Core, mit der Sie Formatzeichenfolgen auf numerische Werte oder Datums- und Zeitwerte anwenden und die Ergebniszeichenfolge anzeigen können. Für C# und Visual Basic ist Quellcode verfügbar.

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

Hinweis

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

Die lokale Zeitzone der Inlinecodeausführung und dem Playground von Try.NET wird ist die Koordinierte Weltzeit (UTC). Dies kann sich auf das Verhalten und die Ausgabe von Beispielen auswirken, die die Typen DateTime, DateTimeOffset und TimeZoneInfo sowie deren Member veranschaulichen.

In Formatierungsvorgängen können benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit entweder mit der ToString-Methode einer Datums- und Uhrzeitinstanz oder mit einer Methode verwendet werden, die die kombinierte Formatierung unterstützt. Das folgende Beispiel veranschaulicht beide Möglichkeiten.

DateTime thisDate1 = new DateTime(2011, 6, 10);
Console.WriteLine("Today is " + thisDate1.ToString("MMMM dd, yyyy") + ".");

DateTimeOffset thisDate2 = new DateTimeOffset(2011, 6, 10, 15, 24, 16,
                                              TimeSpan.Zero);
Console.WriteLine("The current date and time: {0:MM/dd/yy H:mm:ss zzz}",
                   thisDate2);
// The example displays the following output:
//    Today is June 10, 2011.
//    The current date and time: 06/10/11 15:24:16 +00:00
Dim thisDate1 As Date = #6/10/2011#
Console.WriteLine("Today is " + thisDate1.ToString("MMMM dd, yyyy") + ".")

Dim thisDate2 As New DateTimeOffset(2011, 6, 10, 15, 24, 16, TimeSpan.Zero)
Console.WriteLine("The current date and time: {0:MM/dd/yy H:mm:ss zzz}",
                  thisDate2)
' The example displays the following output:
'    Today is June 10, 2011.
'    The current date and time: 06/10/11 15:24:16 +00:00

In Analysevorgängen können benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit mit den Methoden DateTime.ParseExact, DateTime.TryParseExact, DateTimeOffset.ParseExact und DateTimeOffset.TryParseExact verwendet werden. Bei diesen Methoden muss die Eingabezeichenfolge genau einem bestimmten Muster entsprechen, damit der Analysevorgang erfolgreich ausgeführt werden kann. Im folgenden Beispiel wird ein Aufruf der DateTimeOffset.ParseExact(String, String, IFormatProvider)-Methode veranschaulicht, um ein Datum zu analysieren, das einen Tag, einen Monat und eine zweistellige Jahresangabe enthalten muss.

using System;
using System.Globalization;

public class Example1
{
    public static void Main()
    {
        string[] dateValues = { "30-12-2011", "12-30-2011",
                              "30-12-11", "12-30-11" };
        string pattern = "MM-dd-yy";
        DateTime parsedDate;

        foreach (var dateValue in dateValues)
        {
            if (DateTime.TryParseExact(dateValue, pattern, null,
                                      DateTimeStyles.None, out parsedDate))
                Console.WriteLine("Converted '{0}' to {1:d}.",
                                  dateValue, parsedDate);
            else
                Console.WriteLine("Unable to convert '{0}' to a date and time.",
                                  dateValue);
        }
    }
}
// The example displays the following output:
//    Unable to convert '30-12-2011' to a date and time.
//    Unable to convert '12-30-2011' to a date and time.
//    Unable to convert '30-12-11' to a date and time.
//    Converted '12-30-11' to 12/30/2011.
Imports System.Globalization

Module Example
    Public Sub Main()
        Dim dateValues() As String = {"30-12-2011", "12-30-2011",
                                        "30-12-11", "12-30-11"}
        Dim pattern As String = "MM-dd-yy"
        Dim parsedDate As Date

        For Each dateValue As String In dateValues
            If DateTime.TryParseExact(dateValue, pattern, Nothing,
                                      DateTimeStyles.None, parsedDate) Then
                Console.WriteLine("Converted '{0}' to {1:d}.",
                                  dateValue, parsedDate)
            Else
                Console.WriteLine("Unable to convert '{0}' to a date and time.",
                                  dateValue)
            End If
        Next
    End Sub
End Module
' The example displays the following output:
'    Unable to convert '30-12-2011' to a date and time.
'    Unable to convert '12-30-2011' to a date and time.
'    Unable to convert '30-12-11' to a date and time.
'    Converted '12-30-11' to 12/30/2011.

Die folgende Tabelle beschreibt die benutzerdefinierten Formatbezeichner für Datum und Uhrzeit und zeigt eine Ergebniszeichenfolge an, die von den einzelnen Formatbezeichnern erstellt wird. Standardmäßig entsprechen Ergebniszeichenfolgen den Formatierungskonventionen der Kultur "en-US". Wenn ein bestimmter Formatbezeichner eine lokalisierte Ergebniszeichenfolge erzeugt, wird im Beispiel auch die Kultur angegeben, für die die Ergebniszeichenfolge gilt. Weitere Informationen zum Verwenden von benutzerdefinierten Formatzeichenfolgen für Datum und Uhrzeit finden Sie im Abschnitt Hinweise.

Formatbezeichner BESCHREIBUNG Beispiele
"d" Der Tag des Monats, von 1 bis 31.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatspezifizierer „d“.
2009-06-01T13:45:30 -> 1

2009-06-15T13:45:30 -> 15
"dd" Der Tag des Monats, von 01 bis 31.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner „dd“.
2009-06-01T13:45:30 -> 01

2009-06-15T13:45:30 -> 15
"ddd" Der abgekürzte Name des Tags der Woche.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner „ddd“.
2009-06-15T13:45:30 -> Mo. (de-DE)

2009-06-15T13:45:30 -> Пн (ru-RU)

2009-06-15T13:45:30 -> lun. (fr-FR)
"dddd" Der vollständige Name des Wochentags.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner „dddd“.
2009-06-15T13:45:30 -> Montag (de-DE)

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

2009-06-15T13:45:30 -> lundi (fr-FR)
"f" Die Zehntelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatspezifizierer „f“.
2009-06-15T13:45:30.6170000 -> 6

2009-06-15T13:45:30.05 -> 0
"ff" Die Hundertstelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner "ff".
2009-06-15T13:45:30.6170000 -> 61

2009-06-15T13:45:30.0050000 -> 00
"fff" Die Millisekunden in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatspezifizierer „fff“.
6/15/2009 13:45:30.617 -> 617

6/15/2009 13:45:30.0005 -> 000
"ffff" Die Zehntausendstelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatspezifizierer „ffff“.
2009-06-15T13:45:30.6175000 -> 6175

2009-06-15T13:45:30.0000500 -> 0000
"fffff" Die Hunderttausendstelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatspezifizierer „fffff“.
2009-06-15T13:45:30.6175400 -> 61754

6/15/2009 13:45:30.000005 -> 00000
"ffffff" Die Millionstelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatspezifizierer „ffffff“.
2009-06-15T13:45:30.6175420 -> 617542

2009-06-15T13:45:30.0000005 -> 000000
"fffffff" Die Zehnmillionstelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatspezifizierer „fffffff“.
2009-06-15T13:45:30.6175425 -> 6175425

2009-06-15T13:45:30.0001150 -> 0001150
"F" Wenn ungleich 0 (null), die Zehntelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatspezifizierer „F“.
2009-06-15T13:45:30.6170000 -> 6

2009-06-15T13:45:30.0500000 -> (keine Ausgabe)
"FF" Wenn ungleich 0 (null), die Hundertstelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatspezifizierer „FF“.
2009-06-15T13:45:30.6170000 -> 61

2009-06-15T13:45:30.0050000 -> (keine Ausgabe)
"FFF" Wenn ungleich 0 (null), die Millisekunden in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner "fff".
2009-06-15T13:45:30.6170000 -> 617

2009-06-15T13:45:30.0005000 -> (keine Ausgabe)
"FFFF" Wenn ungleich 0 (null), die Zehntausendstelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatspezifizierer „FFFF“.
2009-06-15T13:45:30.5275000 -> 5275

2009-06-15T13:45:30.0000500 -> (keine Ausgabe)
"FFFFF" Wenn ungleich 0 (null), die Hunderttausendstelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatspezifizierer „FFFFF“.
2009-06-15T13:45:30.6175400 -> 61754

2009-06-15T13:45:30.0000050 -> (keine Ausgabe)
"FFFFFF" Wenn ungleich 0 (null), die Millionstelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatspezifizierer „FFFFFF“.
2009-06-15T13:45:30.6175420 -> 617542

2009-06-15T13:45:30.0000005 -> (keine Ausgabe)
"FFFFFFF" Wenn ungleich 0 (null), die Zehnmillionstelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatspezifizierer „FFFFFFF“.
2009-06-15T13:45:30.6175425 -> 6175425

2009-06-15T13:45:30.0001150 -> 000115
"g", "gg" Der Zeitraum.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner „g“ oder „gg“.
2009-06-15T13:45:30.6170000 -> A.D.
"h" Die Stunde, von 1 bis 12 (12-Stunden-Format).

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatspezifizierer „h“.
2009-06-15T01:45:30 -> 1

2009-06-15T13:45:30 -> 1
"hh" Die Stunde, von 01 bis 12 (12-Stunden-Format).

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatspezifizierer „hh“.
2009-06-15T01:45:30 -> 01

2009-06-15T13:45:30 -> 01
"H" Die Stunde, von 0 bis 23 (24-Stunden-Format).

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner „H“.
2009-06-15T01:45:30 -> 1

2009-06-15T13:45:30 -> 13
"HH" Die Stunde, von 00 bis 23 (24-Stunden-Format).

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner „HH“.
2009-06-15T01:45:30 -> 01

2009-06-15T13:45:30 -> 13
"K" Zeitzoneninformationen.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner „K“.
Mit DateTime-Werten:

2009-06-15T13:45:30, Art nicht angegeben ->

2009-06-15T13:45:30, UTC-Zeitzone -> Z

2009-06-15T13:45:30, Lokale Zeitzone -> -07:00 (hängt von den lokalen Computereinstellungen ab)

Mit DateTimeOffset-Werten:

2009-06-15T01:45:30-07:00 --> -07:00

2009-06-15T08:45:30+00:00 --> +00:00
"m" Die Minute, von 0 bis 59.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatspezifizierer „m“.
2009-06-15T01:09:30 -> 9

2009-06-15T13:29:30 -> 29
"mm" Die Minute, von 00 bis 59.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatspezifizierer „mm“.
2009-06-15T01:09:30 -> 09

2009-06-15T01:45:30 -> 45
"M" Der Monat, von 1 bis 12.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner „M“.
2009-06-15T13:45:30 -> 6
"MM" Der Monat, von 01 bis 12.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner „MM“.
2009-06-15T13:45:30 -> 06
"MMM" Der abgekürzte Name des Monats.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner „MMM“.
2009-06-15T13:45:30 -> Juni (de-DE)

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

2009-06-15T13:45:30 -> Jun (zu-ZA)
"MMMM" Der vollständige Name des Monats.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner „MMMM“.
2009-06-15T13:45:30 -> June (en-US)

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

2009-06-15T13:45:30 -> uJuni (zu-ZA)
"s" Die Sekunde, von 0 bis 59.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatspezifizierer „s“.
2009-06-15T13:45:09 -> 9
"ss" Die Sekunde, von 00 bis 59.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatspezifizierer „ss“.
2009-06-15T13:45:09 -> 09
"t" Das erste Zeichen des AM/PM-Kennzeichners.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner „t“.
2009-06-15T13:45:30 -> P (en-US)

2009-06-15T13:45:30 -> 午 (ja-JP)

2009-06-15T13:45:30 -> (fr-FR)
"tt" Der AM/PM-Kennzeichner.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner „tt“.
2009-06-15T13:45:30 -> PM (en-US)

2009-06-15T13:45:30 -> 午後 (ja-JP)

2009-06-15T13:45:30 -> (fr-FR)
"y" Das Jahr, von 0 bis 99.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner „y“.
0001-01-01T00:00:00 -> 1

0900-01-01T00:00:00 -> 0

1900-01-01T00:00:00 -> 0

2009-06-15T13:45:30 -> 9

2019-06-15T13:45:30 -> 19
"yy" Das Jahr, von 00 bis 99.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner „yy“.
0001-01-01T00:00:00 -> 01

0900-01-01T00:00:00 -> 00

1900-01-01T00:00:00 -> 00

2019-06-15T13:45:30 -> 19
"yyy" Das Jahr, mit einem Minimum von drei Ziffern.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner „yyy“.
0001-01-01T00:00:00 -> 001

0900-01-01T00:00:00 -> 900

1900-01-01T00:00:00 -> 1900

2009-06-15T13:45:30 -> 2009
"yyyy" Das Jahr als vierstellige Zahl.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner „yyyy“.
0001-01-01T00:00:00 -> 0001

0900-01-01T00:00:00 -> 0900

1900-01-01T00:00:00 -> 1900

2009-06-15T13:45:30 -> 2009
"yyyyy" Das Jahr als fünfstellige Zahl.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner „yyyyy“.
0001-01-01T00:00:00 -> 00001

2009-06-15T13:45:30 -> 02009
"z" Offset von UTC in Stunden, ohne führende Nullen.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner „z“.
2009-06-15T13:45:30-07:00 -> -7
"zz" Offset von UTC in Stunden, mit einer führenden Null für einen einstelligen Wert.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner „zz“.
2009-06-15T13:45:30-07:00 -> -07
"zzz" Offset von UTC in Stunden und Minuten.

Weitere Informationen finden Sie unter: Der benutzerdefinierte Formatbezeichner „zzz“.
2009-06-15T13:45:30-07:00 -> -07:00
":" Das Zeittrennzeichen.

Weitere Informationen finden Sie unter: „:“ (benutzerdefinierter Formatbezeichner).
2009-06-15T13:45:30 -> : (en-US)

2009-06-15T13:45:30 -> . (it-IT)

2009-06-15T13:45:30 -> : (ja-JP)
"/" Das Datumstrennzeichen.

Weitere Informationen: Der benutzerdefinierte Formatbezeichner „/“.
2009-06-15T13:45:30 -> / (en-US)

2009-06-15T13:45:30 -> - (ar-DZ)

2009-06-15T13:45:30 -> . (tr-TR)
"Zeichenfolge"

'Zeichenfolge'
Trennzeichen für Literalzeichenfolge.

Weitere Informationen finden Sie unter: Zeichenliterale
2009-06-15T13:45:30 ("arr:" h:m t) -> arr: 1:45 P

2009-06-15T13:45:30 ('arr:' h:m t) -> arr: 1:45 P
% Definiert das nächste Zeichen als benutzerdefinierten Formatbezeichner.

Weitere Informationen: Verwenden von benutzerdefinierten Benutzerdefinierten Formatbezeichnern.
2009-06-15T13:45:30 (%h) -> 1
\ Das Escapezeichen.

Weitere Informationen finden Sie unter: Zeichenliterale und Verwenden des Escapezeichens.
2009-06-15T13:45:30 (h \h) -> 1 h
Jedes andere Zeichen Das Zeichen wird unverändert in die Ergebniszeichenfolge kopiert.

Weitere Informationen finden Sie unter: Zeichenliterale
2009-06-15T01:45:30 (arr hh:mm t) -> arr 01:45 A

In den folgenden Abschnitten finden Sie weitere Informationen zu den einzelnen benutzerdefinierten Formatbezeichnern für Datum- und Uhrzeit. Sofern nicht anders angegeben, erzeugen die einzelnen Bezeichner eine identische Zeichenfolgendarstellung, unabhängig davon, ob sie mit einem DateTime-Wert oder einem DateTimeOffset-Wert verwendet wird.

Formatspezifizierer „d“ für den Tag

Der benutzerdefinierte Formatbezeichner „d“

Der benutzerdefinierte Formatbezeichner „d“ stellt den Tag des Monats als Zahl von 1 bis 31 dar. Einstellige Tage werden ohne führende Null formatiert.

Wenn der Formatbezeichner „d“ allein verwendet wird, d.h. ohne andere benutzerdefinierte Formatbezeichner, wird er als d-Standardformatbezeichner für Datum und Uhrzeit interpretiert. Weitere Informationen zur Verwendung eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern weiter unten in diesem Artikel.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "d" in mehrere Formatzeichenfolgen ein.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);

Console.WriteLine(date1.ToString("d, M",
                  CultureInfo.InvariantCulture));
// Displays 29, 8

Console.WriteLine(date1.ToString("d MMMM",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays 29 August
Console.WriteLine(date1.ToString("d MMMM",
                  CultureInfo.CreateSpecificCulture("es-MX")));
// Displays 29 agosto
Dim date1 As Date = #08/29/2008 7:27:15PM#

Console.WriteLine(date1.ToString("d, M", _
                  CultureInfo.InvariantCulture))
' Displays 29, 8

Console.WriteLine(date1.ToString("d MMMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays 29 August
Console.WriteLine(date1.ToString("d MMMM", _
                  CultureInfo.CreateSpecificCulture("es-MX")))
' Displays 29 agosto                                                

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „dd“

Die benutzerdefinierte Formatzeichenfolge „dd“ stellt den Tag des Monats als Zahl von 01 bis 31 dar. Einstellige Tage werden mit einer führenden Null formatiert.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "dd" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = new DateTime(2008, 1, 2, 6, 30, 15);

Console.WriteLine(date1.ToString("dd, MM",
                  CultureInfo.InvariantCulture));
// 02, 01
Dim date1 As Date = #1/2/2008 6:30:15AM#

Console.WriteLine(date1.ToString("dd, MM", _
                  CultureInfo.InvariantCulture))
' 02, 01

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „ddd“

Der benutzerdefinierte Formatbezeichner "ddd" stellt den abgekürzten Namen des Tags der Woche dar. Der lokalisierte abgekürzte Name des Tags der Woche wird von der DateTimeFormatInfo.AbbreviatedDayNames-Eigenschaft der aktuellen oder der angegebenen Kultur abgerufen.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "ddd" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);

Console.WriteLine(date1.ToString("ddd d MMM",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM",
                  CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays ven. 29 août
Dim date1 As Date = #08/29/2008 7:27:15PM#

Console.WriteLine(date1.ToString("ddd d MMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM", _
                  CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays ven. 29 août                                                

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „dddd“

Der benutzerdefinierte Formatbezeichner "dddd" (plus einer beliebigen Anzahl zusätzlicher d-Bezeichner) stellt den vollständigen Namen des Tags der Woche dar. Der lokalisierte Name des Tags der Woche wird von der DateTimeFormatInfo.DayNames-Eigenschaft der aktuellen oder der angegebenen Kultur abgerufen.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "dddd" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);

Console.WriteLine(date1.ToString("dddd dd MMMM",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM",
                  CultureInfo.CreateSpecificCulture("it-IT")));
// Displays venerdì 29 agosto
Dim date1 As Date = #08/29/2008 7:27:15PM#

Console.WriteLine(date1.ToString("dddd dd MMMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM", _
                  CultureInfo.CreateSpecificCulture("it-IT")))
' Displays venerdì 29 agosto                                          

Zurück zur Tabelle

Klein geschriebener Bruchspezifizierer „f“ für Sekunden

Der benutzerdefinierte Formatbezeichner „f“

Der benutzerdefinierte Formatbezeichner "f" stellt die signifikanteste Ziffer des Sekundenbruchteils dar, d. h. die Zehntelsekunden in einem Datums- und Uhrzeitwert.

Wenn der Formatbezeichner „f“ allein verwendet wird, d.h. ohne andere Formatbezeichner, wird er als f-Standardformatbezeichner für Datum und Uhrzeit interpretiert. Weitere Informationen zur Verwendung eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern weiter unten in diesem Artikel.

Wenn Sie den f-Formatbezeichner als Teil einer Formatzeichenfolge verwenden, die für die Methoden ParseExact, TryParseExact, ParseExact oder TryParseExact bereitgestellt wird, gibt die Anzahl der verwendeten f-Formatbezeichner die Anzahl der signifikantesten Ziffern des Sekundenbruchteils an, der vorhanden sein muss, damit die Zeichenfolge erfolgreich analysiert wird.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "f" in mehrere benutzerdefinierte Formatzeichenfolgen ein.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „ff“

Der benutzerdefinierte Formatbezeichner "ff" stellt die zwei signifikantesten Ziffern des Sekundenbruchteils dar, d. h. die Hundertstelsekunden in einem Datums- und Uhrzeitwert.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "ff" in mehrere benutzerdefinierte Formatzeichenfolgen ein.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „fff“

Der benutzerdefinierte Formatbezeichner "fff" stellt die drei signifikantesten Ziffern des Sekundenbruchteils dar, d. h. die Millisekunden in einem Datums- und Uhrzeitwert.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "fff" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „ffff“

Der benutzerdefinierte Formatbezeichner "ffff" stellt die vier signifikantesten Ziffern des Sekundenbruchteils dar, d. h. die Zehntausendstelsekunden in einem Datums- und Uhrzeitwert.

Auch wenn es möglich ist, die Zehntausendstelsekundenkomponente eines Uhrzeitwerts anzuzeigen, ist dieser Wert möglicherweise nicht sinnvoll. Die Genauigkeit der Datums- und Uhrzeitwerte hängt von der Auflösung der Systemuhr ab. Unter Windows NT 3.5 (und höher) sowie unter Windows Vista-Betriebssystemen beträgt die Auflösung der Uhr etwa 10 – 15 Millisekunden.

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „fffff“

Der benutzerdefinierte Formatbezeichner "fffff" stellt die fünf signifikantesten Ziffern des Sekundenbruchteils dar, d. h. die Hunderttausendstelsekunden in einem Datums- und Uhrzeitwert.

Auch wenn es möglich ist, die Hunderttausendstelsekundenkomponente eines Uhrzeitwerts anzuzeigen, ist dieser Wert möglicherweise nicht sinnvoll. Die Genauigkeit der Datums- und Uhrzeitwerte hängt von der Auflösung der Systemuhr ab. Unter Windows NT 3.5 (und höher) sowie unter Windows Vista-Betriebssystemen beträgt die Auflösung der Uhr etwa 10 – 15 Millisekunden.

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „ffffff“

Der benutzerdefinierte Formatbezeichner "ffffff" stellt die sechs signifikantesten Ziffern des Sekundenbruchteils dar, d. h. die Millionstelsekunden in einem Datums- und Uhrzeitwert.

Auch wenn es möglich ist, die Millionstelsekundenkomponente eines Uhrzeitwerts anzuzeigen, ist dieser Wert möglicherweise nicht sinnvoll. Die Genauigkeit der Datums- und Uhrzeitwerte hängt von der Auflösung der Systemuhr ab. Unter Windows NT 3.5 (und höher) sowie unter Windows Vista-Betriebssystemen beträgt die Auflösung der Uhr etwa 10 – 15 Millisekunden.

Zurück zur Tabelle

Benutzerdefinierte Formatbezeichner „fffffff“

Der benutzerdefinierte Formatbezeichner "fffffff" stellt die sieben signifikantesten Ziffern des Sekundenbruchteils dar, d. h. die Zehnmillionstelsekunden in einem Datums- und Uhrzeitwert.

Auch wenn es möglich ist, die Zehnmillionstelsekundenkomponente eines Uhrzeitwerts anzuzeigen, ist dieser Wert möglicherweise nicht sinnvoll. Die Genauigkeit der Datums- und Uhrzeitwerte hängt von der Auflösung der Systemuhr ab. Unter Windows NT 3.5 (und höher) sowie unter Windows Vista-Betriebssystemen beträgt die Auflösung der Uhr etwa 10 – 15 Millisekunden.

Zurück zur Tabelle

Groß geschriebener Bruchspezifizierer „F“ für Sekunden

Der benutzerdefinierte Formatbezeichner „F“

Der benutzerdefinierte Formatbezeichner "F" stellt die signifikanteste Ziffer des Sekundenbruchteils dar, d. h. die Zehntelsekunden in einem Datums- und Uhrzeitwert. Nichts wird angezeigt, wenn die Ziffer 0 ist, und das Dezimalzeichen, das auf die Anzahl der Sekunden folgt, wird ebenfalls nicht angezeigt.

Wenn der Formatbezeichner „F“ allein verwendet wird, d.h. ohne andere Formatbezeichner, wird er als F-Standardformatbezeichner für Datum und Uhrzeit interpretiert. Weitere Informationen zur Verwendung eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern weiter unten in diesem Artikel.

Die Anzahl der F-Formatbezeichner, die mit den Methoden ParseExact, TryParseExact, ParseExact oder TryParseExact bereitgestellt werden, gibt die maximale Anzahl der signifikantesten Ziffern des Sekundenbruchteils an, der vorhanden sein kann, damit die Zeichenfolge erfolgreich analysiert wird.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "F" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „FF“

Der benutzerdefinierte Formatbezeichner "FF" stellt die zwei signifikantesten Ziffern des Sekundenbruchteils dar, d. h. die Hundertstelsekunden in einem Datums- und Uhrzeitwert. Nachfolgende Nullen werden nicht angezeigt. Nichts wird angezeigt, wenn die beiden signifikanten Ziffern 0 sind, und in diesem Fall wird auch nicht das Dezimalzeichen angezeigt, das auf die Anzahl der Sekunden folgt.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "FF" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „FFF“

Der benutzerdefinierte Formatbezeichner "FFF" stellt die drei signifikantesten Ziffern des Sekundenbruchteils dar, d. h. die Millisekunden in einem Datums- und Uhrzeitwert. Nachfolgende Nullen werden nicht angezeigt. Nichts wird angezeigt, wenn die drei signifikanten Ziffern 0 sind, und in diesem Fall wird auch das Dezimalzeichen, das der Anzahl der Sekunden folgt, nicht angezeigt.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "FFF" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „FFFF“

Der benutzerdefinierte Formatbezeichner "FFFF" stellt die vier signifikantesten Ziffern des Sekundenbruchteils dar, d. h. die Zehntausendstelsekunden in einem Datums- und Uhrzeitwert. Nachfolgende Nullen werden nicht angezeigt. Nichts wird angezeigt, wenn die vier signifikanten Ziffern 0 sind, und in diesem Fall wird auch nicht das Dezimalzeichen angezeigt, das auf die Anzahl der Sekunden folgt.

Auch wenn es möglich ist, die Zehntausendstelsekundenkomponente eines Uhrzeitwerts anzuzeigen, ist dieser Wert möglicherweise nicht sinnvoll. Die Genauigkeit der Datums- und Uhrzeitwerte hängt von der Auflösung der Systemuhr ab. Unter Windows NT 3.5 (und höher) sowie unter Windows Vista-Betriebssystemen beträgt die Auflösung der Uhr etwa 10 – 15 Millisekunden.

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „FFFFF“

Der benutzerdefinierte Formatbezeichner "FFFFF" stellt die fünf signifikantesten Ziffern des Sekundenbruchteils dar, d. h. die Hunderttausendstelsekunden in einem Datums- und Uhrzeitwert. Nachfolgende Nullen werden nicht angezeigt. Nichts wird angezeigt, wenn die fünf signifikanten Ziffern 0 sind, und in diesem Fall wird auch nicht das Dezimalzeichen angezeigt, das auf die Anzahl der Sekunden folgt.

Auch wenn es möglich ist, die Hunderttausendstelsekundenkomponente eines Uhrzeitwerts anzuzeigen, ist dieser Wert möglicherweise nicht sinnvoll. Die Genauigkeit der Datums- und Uhrzeitwerte hängt von der Auflösung der Systemuhr ab. Unter Windows NT 3.5 (und höher) sowie unter Windows Vista-Betriebssystemen beträgt die Auflösung der Uhr etwa 10 – 15 Millisekunden.

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „FFFFFF“

Der benutzerdefinierte Formatbezeichner "FFFFFF" stellt die sechs signifikantesten Ziffern des Sekundenbruchteils dar, d. h. die Millionstelsekunden in einem Datums- und Uhrzeitwert. Nachfolgende Nullen werden nicht angezeigt. Nichts wird angezeigt, wenn die sechs signifikanten Ziffern 0 sind, und in diesem Fall wird auch nicht das Dezimalzeichen angezeigt, das auf die Anzahl der Sekunden folgt.

Auch wenn es möglich ist, die Millionstelsekundenkomponente eines Uhrzeitwerts anzuzeigen, ist dieser Wert möglicherweise nicht sinnvoll. Die Genauigkeit der Datums- und Uhrzeitwerte hängt von der Auflösung der Systemuhr ab. Unter Windows NT 3.5 (und höher) sowie unter Windows Vista-Betriebssystemen beträgt die Auflösung der Uhr etwa 10 – 15 Millisekunden.

Zurück zur Tabelle

Benutzerdefinierte Formatbezeichner „FFFFFFF“

Der benutzerdefinierte Formatbezeichner "FFFFFFF" stellt die sieben signifikantesten Ziffern des Sekundenbruchteils dar, d. h. die Zehnmillionstelsekunden in einem Datums- und Uhrzeitwert. Nachfolgende Nullen werden nicht angezeigt. Nichts wird angezeigt, wenn die sieben signifikanten Ziffern 0 sind, und in diesem Fall wird auch nicht das Dezimalzeichen angezeigt, das auf die Anzahl der Sekunden folgt.

Auch wenn es möglich ist, die Zehnmillionstelsekundenkomponente eines Uhrzeitwerts anzuzeigen, ist dieser Wert möglicherweise nicht sinnvoll. Die Genauigkeit der Datums- und Uhrzeitwerte hängt von der Auflösung der Systemuhr ab. Unter Windows NT 3.5 (und höher) sowie unter Windows Vista-Betriebssystemen beträgt die Auflösung der Uhr etwa 10 – 15 Millisekunden.

Zurück zur Tabelle

Formatspezifizierer „g“ für die Ära

Der benutzerdefinierte Formatbezeichner „g“ oder „gg“

Die benutzerdefinierten Formatbezeichner „g“ oder „gg“ (plus eine beliebige Anzahl zusätzlicher „g“-Bezeichner) stellen den Zeitraum oder das Zeitalter dar, z. B. A.D. Der Formatierungsvorgang ignoriert diesen Bezeichner, wenn das zu formatierende Datum keine zugeordnete Zeichenfolge für einen Zeitraum oder ein Zeitalter aufweist.

Wenn der Formatbezeichner „g“ allein verwendet wird, d. h. ohne andere benutzerdefinierte Formatbezeichner, wird er als g-Standardformatbezeichner für Datum und Uhrzeit interpretiert. Weitere Informationen zur Verwendung eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern weiter unten in diesem Artikel.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "g" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = new DateTime(70, 08, 04);

Console.WriteLine(date1.ToString("MM/dd/yyyy g",
                  CultureInfo.InvariantCulture));
// Displays 08/04/0070 A.D.
Console.WriteLine(date1.ToString("MM/dd/yyyy g",
                  CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 08/04/0070 ap. J.-C.
Dim date1 As Date = #08/04/0070#

Console.WriteLine(date1.ToString("MM/dd/yyyy g", _
                  CultureInfo.InvariantCulture))
' Displays 08/04/0070 A.D.                        
Console.WriteLine(date1.ToString("MM/dd/yyyy g", _
                  CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 08/04/0070 ap. J.-C.

Zurück zur Tabelle

Klein geschriebener Formatspezifizierer „h“ für Stunden

Der benutzerdefinierte Formatbezeichner „h“

Der benutzerdefinierte Formatbezeichner “h“ stellt die Stunde als Zahl von 1 bis 12 dar. Die Stunde wird dabei im 12-Stunden-Format dargestellt, bei dem die vollen Stunden ab Mitternacht oder 12 Uhr mittags gezählt werden. Eine Stunde nach Mitternacht lässt nicht von derselben Stunde nach 12 Uhr mittags unterscheiden. Die Stunde wird nicht gerundet. Einstellige Stunden werden ohne führende Null formatiert. Beispielsweise zeigt dieser benutzerdefinierte Formatbezeichner um 5:43 Uhr morgens oder nachmittags "5" an.

Wenn der Formatbezeichner „h“ allein verwendet wird, d. h. ohne andere benutzerdefinierte Formatbezeichner, wird er als Standardformatbezeichner für Datum und Uhrzeit interpretiert, und eine FormatException wird ausgelöst. Weitere Informationen zur Verwendung eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern weiter unten in diesem Artikel.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "h" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 µ
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 µ
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1 µ                        
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5 µ

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „hh“

Der benutzerdefinierte Formatbezeichner „hh“ (plus eine beliebige Anzahl zusätzlicher h-Bezeichner) stellt die Stunde als Zahl von 01 bis 12 dar. Die Stunde wird dabei im 12-Stunden-Format dargestellt, bei dem die vollen Stunden ab Mitternacht oder 12 Uhr mittags gezählt werden. Eine Stunde nach Mitternacht lässt nicht von derselben Stunde nach 12 Uhr mittags unterscheiden. Die Stunde wird nicht gerundet. Einstellige Stunden werden mit einer führenden Null formatiert. Beispielsweise zeigt dieser Formatbezeichner um 5:43 Uhr morgens oder nachmittags "05" an.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "hh" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.

Zurück zur Tabelle

Groß geschriebener Formatspezifizierer „H“ für Stunden

Der benutzerdefinierte Formatbezeichner „H“

Der benutzerdefinierte Formatbezeichner „H“ stellt die Stunde als Zahl von 0 bis 23 dar. Die Stunde wird dabei im nullbasierten 24-Stunden-Format dargestellt, bei dem die Stunden ab Mitternacht gezählt werden. Einstellige Stunden werden ohne führende Null formatiert.

Wenn der Formatbezeichner „H“ allein verwendet wird, d.h. ohne andere benutzerdefinierte Formatbezeichner, wird er als Standardformatbezeichner für Datum und Uhrzeit interpretiert, und eine FormatException wird ausgelöst. Weitere Informationen zur Verwendung eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern weiter unten in diesem Artikel.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "H" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = new DateTime(2008, 1, 1, 6, 9, 1);
Console.WriteLine(date1.ToString("H:mm:ss",
                  CultureInfo.InvariantCulture));
// Displays 6:09:01
Dim date1 As Date = #6:09:01AM#
Console.WriteLine(date1.ToString("H:mm:ss", _
                  CultureInfo.InvariantCulture))
' Displays 6:09:01                        

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „HH“

Der benutzerdefinierte Formatbezeichner „HH“ (plus eine beliebige Anzahl zusätzlicher H-Bezeichner) stellt die Stunde als Zahl von 00 bis 23 dar. Die Stunde wird dabei im nullbasierten 24-Stunden-Format dargestellt, bei dem die Stunden ab Mitternacht gezählt werden. Einstellige Stunden werden mit einer führenden Null formatiert.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "HH" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = new DateTime(2008, 1, 1, 6, 9, 1);
Console.WriteLine(date1.ToString("HH:mm:ss",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01
Dim date1 As Date = #6:09:01AM#
Console.WriteLine(date1.ToString("HH:mm:ss", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01                        

Zurück zur Tabelle

Formatspezifizierer „K“ für die Zeitzone

Der benutzerdefinierte Formatbezeichner „K“

Der benutzerdefinierte Formatbezeichner "K" stellt die Zeitzoneninformationen eines Datums- und Uhrzeitwerts dar. Bei Verendung dieses Formatbezeichners mit DateTime-Werten wird die Ergebniszeichenfolge durch den Wert der DateTime.Kind-Eigenschaft definiert:

  • Für die lokale Zeitzone (ein DateTime.Kind-Eigenschaftswert von DateTimeKind.Local) erzeugt dieser Bezeichner eine Ergebniszeichenfolge, die den lokalen Offsetwert von der koordinierten Weltzeit (Coordinated Universal Time, UTC) enthält, z. B. „-07:00“.

  • Für eine UTC-Zeit (ein DateTime.Kind-Eigenschaftswert von DateTimeKind.Utc) umfasst die Ergebniszeichenfolge ein Zeichen "Z", das ein UTC-Datum darstellt.

  • Für eine Zeit in einer nicht spezifizierten Zeitzone (eine Zeit, deren DateTime.Kind-Eigenschaft gleich DateTimeKind.Unspecified ist), entspricht das Ergebnis String.Empty.

Für DateTimeOffset-Werte ist der Formatbezeichner „K“ gleich dem Formatbezeichner „zzz“ und erzeugt eine Ergebniszeichenfolge, die den Offset des DateTimeOffset-Werts von der koordinierten Weltzeit (Coordinated Universal Time, UTC) enthält.

Wenn der Formatbezeichner „K“ allein verwendet wird, d.h. ohne andere benutzerdefinierte Formatbezeichner, wird er als Standardformatbezeichner für Datum und Uhrzeit interpretiert, und eine FormatException wird ausgelöst. Weitere Informationen zur Verwendung eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern weiter unten in diesem Artikel.

Das folgende Beispiel zeigt die Zeichenfolge, die sich ergibt, wenn der benutzerdefinierte Formatbezeichner „K“ mit verschiedenen DateTime-Werten und DateTimeOffset-Werten in einem System in der Zeitzone Pacific verwendet wird.

Console.WriteLine(DateTime.Now.ToString("%K"));
// Displays -07:00
Console.WriteLine(DateTime.UtcNow.ToString("%K"));
// Displays Z
Console.WriteLine("'{0}'",
                  DateTime.SpecifyKind(DateTime.Now,
                       DateTimeKind.Unspecified).ToString("%K"));
// Displays ''
Console.WriteLine(DateTimeOffset.Now.ToString("%K"));
// Displays -07:00
Console.WriteLine(DateTimeOffset.UtcNow.ToString("%K"));
// Displays +00:00
Console.WriteLine(new DateTimeOffset(2008, 5, 1, 6, 30, 0,
                      new TimeSpan(5, 0, 0)).ToString("%K"));
// Displays +05:00
Console.WriteLine(Date.Now.ToString("%K"))
' Displays -07:00
Console.WriteLine(Date.UtcNow.ToString("%K"))
' Displays Z      
Console.WriteLine("'{0}'", _
                  Date.SpecifyKind(Date.Now, _
                                   DateTimeKind.Unspecified). _
                  ToString("%K"))
' Displays ''      
Console.WriteLine(DateTimeOffset.Now.ToString("%K"))
' Displays -07:00
Console.WriteLine(DateTimeOffset.UtcNow.ToString("%K"))
' Displays +00:00
Console.WriteLine(New DateTimeOffset(2008, 5, 1, 6, 30, 0, _
                                     New TimeSpan(5, 0, 0)). _
                  ToString("%K"))
' Displays +05:00                        

Zurück zur Tabelle

Formatspezifizierer „m“ für Minuten

Der benutzerdefinierte Formatbezeichner „m“

Der benutzerdefinierte Formatbezeichner „m“ stellt die Minute als Zahl von 0 bis 59 dar. Die Minute stellt ganze Minuten dar, die seit der letzten Stunde vergangen sind. Einstellige Minuten werden ohne führende Null formatiert.

Wenn der Formatbezeichner „m“ allein verwendet wird, d.h. ohne andere benutzerdefinierte Formatbezeichner, wird er als m-Standardformatbezeichner für Datum und Uhrzeit interpretiert. Weitere Informationen zur Verwendung eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern weiter unten in diesem Artikel.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "m" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 µ
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 µ
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1 µ                        
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5 µ

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „mm“

Der benutzerdefinierte Formatbezeichner „mm“ (plus eine beliebige Anzahl zusätzlicher m-Bezeichner) stellt die Minute als Zahl von 00 bis 59 dar. Die Minute stellt ganze Minuten dar, die seit der letzten Stunde vergangen sind. Einstellige Minuten werden mit einer führenden Null formatiert.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "mm" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.

Zurück zur Tabelle

Formatspezifizierer „M“ für den Monat

Der benutzerdefinierte Formatbezeichner „M“

Der benutzerdefinierte Formatbezeichner „M“ stellt den Monat als Zahl von 1 bis 12 dar (oder von 1 bis 13 bei Kalendern mit 13 Monaten). Einstellige Monate werden ohne führende Null formatiert.

Wenn der Formatbezeichner „M“ allein verwendet wird, d.h. ohne andere benutzerdefinierte Formatbezeichner, wird er als M-Standardformatbezeichner für Datum und Uhrzeit interpretiert. Weitere Informationen zur Verwendung eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern weiter unten in diesem Artikel.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "M" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = new DateTime(2008, 8, 18);
Console.WriteLine(date1.ToString("(M) MMM, MMMM",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays (8) Aug, August
Console.WriteLine(date1.ToString("(M) MMM, MMMM",
                  CultureInfo.CreateSpecificCulture("nl-NL")));
// Displays (8) aug, augustus
Console.WriteLine(date1.ToString("(M) MMM, MMMM",
                  CultureInfo.CreateSpecificCulture("lv-LV")));
// Displays (8) Aug, augusts
Dim date1 As Date = #8/18/2008#
Console.WriteLine(date1.ToString("(M) MMM, MMMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays (8) Aug, August
Console.WriteLine(date1.ToString("(M) MMM, MMMM", _
                  CultureInfo.CreateSpecificCulture("nl-NL")))
' Displays (8) aug, augustus
Console.WriteLine(date1.ToString("(M) MMM, MMMM", _
                  CultureInfo.CreateSpecificCulture("lv-LV")))
' Displays (8) Aug, augusts                       

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „MM“

Der benutzerdefinierte Formatbezeichner „MM“ stellt den Monat als Zahl von 01 bis 12 dar (oder von 01 bis 13 bei Kalendern mit 13 Monaten). Einstellige Monate werden mit einer führenden Null formatiert.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "MM" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = new DateTime(2008, 1, 2, 6, 30, 15);

Console.WriteLine(date1.ToString("dd, MM",
                  CultureInfo.InvariantCulture));
// 02, 01
Dim date1 As Date = #1/2/2008 6:30:15AM#

Console.WriteLine(date1.ToString("dd, MM", _
                  CultureInfo.InvariantCulture))
' 02, 01

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „MMM“

Der benutzerdefinierte Formatbezeichner "MMM" stellt den abgekürzten Namen des Monats dar. Der lokalisierte abgekürzte Name des Monats wird von der DateTimeFormatInfo.AbbreviatedMonthNames-Eigenschaft der aktuellen oder der angegebenen Kultur abgerufen. Wenn ein benutzerdefinierter Formatbezeichner "d" oder "dd" in der benutzerdefinierten Formatzeichenfolge vorhanden ist, wird er stattdessen aus der DateTimeFormatInfo.AbbreviatedMonthGenitiveNames Eigenschaft abgerufen.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "MMM" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);

Console.WriteLine(date1.ToString("ddd d MMM",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM",
                  CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays ven. 29 août
Dim date1 As Date = #08/29/2008 7:27:15PM#

Console.WriteLine(date1.ToString("ddd d MMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM", _
                  CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays ven. 29 août                                                

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „MMMM“

Der benutzerdefinierte Formatbezeichner "MMMM" stellt den vollständigen Namen des Monats dar. Der lokalisierte Name des Monats wird von der DateTimeFormatInfo.MonthNames-Eigenschaft der aktuellen oder der angegebenen Kultur abgerufen. Wenn ein benutzerdefinierter Formatbezeichner "d" oder "dd" in der benutzerdefinierten Formatzeichenfolge vorhanden ist, wird er stattdessen aus der DateTimeFormatInfo.MonthGenitiveNames Eigenschaft abgerufen.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "MMMM" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);

Console.WriteLine(date1.ToString("dddd dd MMMM",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM",
                  CultureInfo.CreateSpecificCulture("it-IT")));
// Displays venerdì 29 agosto
Dim date1 As Date = #08/29/2008 7:27:15PM#

Console.WriteLine(date1.ToString("dddd dd MMMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM", _
                  CultureInfo.CreateSpecificCulture("it-IT")))
' Displays venerdì 29 agosto                                          

Zurück zur Tabelle

Formatspezifizierer „s“ für Sekunden

Der benutzerdefinierte Formatbezeichner „s“

Der benutzerdefinierte Formatbezeichner „s“ stellt die Sekunde als Zahl von 0 bis 59 dar. Das Ergebnis stellt ganze Sekunden dar, die seit der letzten Minute vergangen sind. Einstellige Sekunden werden ohne führende Null formatiert.

Wenn der Formatbezeichner „s“ allein verwendet wird, d.h. ohne andere benutzerdefinierte Formatbezeichner, wird er als s-Standardformatbezeichner für Datum und Uhrzeit interpretiert. Weitere Informationen zur Verwendung eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern weiter unten in diesem Artikel.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "s" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 µ
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 µ
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1 µ                        
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5 µ

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „ss“

Der benutzerdefinierte Formatbezeichner „ss“ (plus eine beliebige Anzahl zusätzlicher s-Bezeichner) stellt die Sekunde als Zahl von 00 bis 59 dar. Das Ergebnis stellt ganze Sekunden dar, die seit der letzten Minute vergangen sind. Einstellige Sekunden werden mit einer führenden Null formatiert.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "ss" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.

Zurück zur Tabelle

Formatspezifizierer „t“ für Meridiem

Der benutzerdefinierte Formatbezeichner „t“

Der benutzerdefinierte Formatbezeichner "t" stellt das erste Zeichen des AM/PM-Kennzeichners dar. Der entsprechende lokalisierte Kennzeichner wird aus der DateTimeFormatInfo.AMDesignator-Eigenschaft oder DateTimeFormatInfo.PMDesignator-Eigenschaft der aktuellen Kultur oder der angegebenen Kultur abgerufen. Der AM-Kennzeichner wird für alle Zeitangaben von 0:00:00 (Mitternacht) bis 11:59:59.999 verwendet. Der PM-Kennzeichner wird für alle Zeitangaben von 12:00:00 (Mittag) bis 23:59:59.999 verwendet.

Wenn der Formatbezeichner „t“ allein verwendet wird, d.h. ohne andere benutzerdefinierte Formatbezeichner, wird er als t-Standardformatbezeichner für Datum und Uhrzeit interpretiert. Weitere Informationen zur Verwendung eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern weiter unten in diesem Artikel.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "t" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 µ
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 µ
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1 µ                        
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5 µ

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „tt“

Der benutzerdefinierte Formatbezeichner "tt" (plus einer beliebigen Anzahl zusätzlicher t-Bezeichner) stellt den vollständigen AM/PM-Kennzeichner dar. Der entsprechende lokalisierte Kennzeichner wird aus der DateTimeFormatInfo.AMDesignator-Eigenschaft oder DateTimeFormatInfo.PMDesignator-Eigenschaft der aktuellen Kultur oder der angegebenen Kultur abgerufen. Der AM-Kennzeichner wird für alle Zeitangaben von 0:00:00 (Mitternacht) bis 11:59:59.999 verwendet. Der PM-Kennzeichner wird für alle Zeitangaben von 12:00:00 (Mittag) bis 23:59:59.999 verwendet.

Achten Sie darauf, dass Sie den Bezeichner „tt“ für Sprachen verwenden, bei denen die Unterscheidung zwischen AM und PM beibehalten werden muss. Ein Beispiel hierfür ist die japanische Sprache, in der nicht das erste, sondern das zweite Zeichen des AM/PM-Bezeichners das Unterscheidungsmerkmal darstellt.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "tt" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.

Zurück zur Tabelle

Formatspezifizierer „y“ für das Jahr

Der benutzerdefinierte Formatbezeichner „y“

Der benutzerdefinierte Formatbezeichner "y" stellt das Jahr als einstellige oder zweistellige Zahl dar. Falls das Jahr mehr als zwei Ziffern umfasst, werden im Ergebnis nur die beiden niedrigwertigen Ziffern angezeigt. Wenn die erste Ziffer eines zweistelligen Jahrs eine Null ist (z. B. 2008), wird die Zahl ohne führende Null formatiert.

Wenn der Formatbezeichner „y“ allein verwendet wird, d.h. ohne andere benutzerdefinierte Formatbezeichner, wird er als y-Standardformatbezeichner für Datum und Uhrzeit interpretiert. Weitere Informationen zur Verwendung eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern weiter unten in diesem Artikel.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "y" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010      

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „yy“

Der benutzerdefinierte Formatbezeichner "yy" stellt das Jahr als zweistellige Zahl dar. Falls das Jahr mehr als zwei Ziffern umfasst, werden im Ergebnis nur die beiden niedrigwertigen Ziffern angezeigt. Umfasst das Jahr weniger als zwei signifikante Ziffern, wird die Zahl mit führenden Nullen auf eine zweistellige Jahresangabe aufgefüllt.

Bei einem Analysevorgang wird eine mit dem benutzerdefinierten Formatbezeichner "yy" analysierte zweistellige Jahresangabe auf Grundlage der Calendar.TwoDigitYearMax-Eigenschaft des aktuellen Kalenders des Formatanbieters interpretiert. Im folgenden Beispiel wird die Zeichenfolgendarstellung eines Datums mit einer zweistelligen Jahresangabe anhand des standardmäßigen gregorianischen Kalenders der Kultur en-US analysiert, die in diesem Fall die aktuelle Kultur ist. Im Beispiel wird dann das aktuelle CultureInfo-Objekt der Kultur so geändert, dass ein GregorianCalendar-Objekt verwendet wird, dessen TwoDigitYearMax-Eigenschaft geändert wurde.

using System;
using System.Globalization;
using System.Threading;

public class Example7
{
    public static void Main()
    {
        string fmt = "dd-MMM-yy";
        string value = "24-Jan-49";

        Calendar cal = (Calendar)CultureInfo.CurrentCulture.Calendar.Clone();
        Console.WriteLine("Two Digit Year Range: {0} - {1}",
                          cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax);

        Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, null));
        Console.WriteLine();

        cal.TwoDigitYearMax = 2099;
        CultureInfo culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
        culture.DateTimeFormat.Calendar = cal;
        Thread.CurrentThread.CurrentCulture = culture;

        Console.WriteLine("Two Digit Year Range: {0} - {1}",
                          cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax);
        Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, null));
    }
}
// The example displays the following output:
//       Two Digit Year Range: 1930 - 2029
//       1/24/1949
//
//       Two Digit Year Range: 2000 - 2099
//       1/24/2049
Imports System.Globalization
Imports System.Threading

Module Example
    Public Sub Main()
        Dim fmt As String = "dd-MMM-yy"
        Dim value As String = "24-Jan-49"

        Dim cal As Calendar = CType(CultureInfo.CurrentCulture.Calendar.Clone(), Calendar)
        Console.WriteLine("Two Digit Year Range: {0} - {1}",
                          cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax)

        Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, Nothing))
        Console.WriteLine()

        cal.TwoDigitYearMax = 2099
        Dim culture As CultureInfo = CType(CultureInfo.CurrentCulture.Clone(), CultureInfo)
        culture.DateTimeFormat.Calendar = cal
        Thread.CurrentThread.CurrentCulture = culture

        Console.WriteLine("Two Digit Year Range: {0} - {1}",
                          cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax)
        Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, Nothing))
    End Sub
End Module
' The example displays the following output:
'       Two Digit Year Range: 1930 - 2029
'       1/24/1949
'       
'       Two Digit Year Range: 2000 - 2099
'       1/24/2049

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "yy" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010      

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „yyy“

Der benutzerdefinierte Formatbezeichner "yyy" stellt das Jahr mit mindestens drei Ziffern dar. Falls das Jahr mehr als drei signifikante Ziffern umfasst, werden diese in die Ergebniszeichenfolge aufgenommen. Umfasst das Jahr weniger als drei Ziffern, wird die Zahl mit führenden Nullen auf eine dreistellige Jahresangabe aufgefüllt.

Hinweis

Für den buddhistischen Kalender Thailands, der fünfstellige Jahresangaben enthalten kann, zeigt dieser Bezeichner alle signifikanten Ziffern an.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "yyy" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010      

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „yyyy“

Der benutzerdefinierte Formatbezeichner "yyyy" stellt das Jahr mit mindestens vier Ziffern dar. Falls das Jahr mehr als vier signifikante Ziffern umfasst, werden diese in die Ergebniszeichenfolge eingeschlossen. Umfasst das Jahr weniger als vier Ziffern, wird die Zahl mit führenden Nullen auf eine vierstellige Jahresangabe aufgefüllt.

Hinweis

Für den buddhistischen Kalender Thailands, der fünfstellige Jahresangaben enthalten kann, zeigt dieser Bezeichner mindestens vier Ziffern an.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "yyyy" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010      

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „yyyyy“

Der benutzerdefinierte Formatbezeichner "yyyyy" (plus einer beliebigen Anzahl zusätzlicher y-Bezeichner) stellt das Jahr mit mindestens fünf Ziffern dar. Falls das Jahr mehr als fünf signifikante Ziffern umfasst, werden diese in die Ergebniszeichenfolge eingeschlossen. Umfasst das Jahr weniger als fünf Ziffern, wird die Zahl mit führenden Nullen auf eine fünfstellige Jahresangabe aufgefüllt.

Falls zusätzliche y-Bezeichner vorhanden sind, wird die Zahl mit der erforderlichen Anzahl an führenden Nullen auf die Anzahl der y-Bezeichner aufgefüllt.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "yyyyy" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010      

Zurück zur Tabelle

Formatspezifizierer „z“ für das Offset

Der benutzerdefinierte Formatbezeichner „z“

Mit DateTime-Werten stellt der benutzerdefinierte Formatbezeichner „z“ den Offsetwert mit Vorzeichen der angegebenen Zeitzone von der koordinierten Weltzeit (Coordinated Universal Time, UTC) dar, gemessen in Stunden. Der Offset wird immer mit einem vorangestellten Plus- oder Minuszeichen angezeigt. Ein Pluszeichen (+) gibt die Stunden vor UTC, ein Minuszeichen (-) die Stunden nach UTC an. Einstellige Offseteerte werden ohne eine führende Null formatiert.

In der folgenden Tabelle wird gezeigt, wie sich der Offsetwert abhängig von DateTimeKind ändert.

Wert vom Typ DateTimeKind Offsetwert
Local Der Offsetwert mit Vorzeichen der Zeitzone des lokalen Betriebssystems ab UTC.
Unspecified Der Offsetwert mit Vorzeichen der Zeitzone des lokalen Betriebssystems ab UTC.
Utc +0 unter .NET Core und .NET 5 und höher.

Auf -NET Framework der Offsetwert mit Vorzeichen der Zeitzone des lokalen Betriebssystems ab UTC.

Mit DateTimeOffset-Werten stellt dieser Formatbezeichner den Offset eines DateTimeOffset-Werts in Stunden und Minuten von UTC dar.

Wenn der Formatbezeichner „z“ allein verwendet wird, d.h. ohne andere benutzerdefinierte Formatbezeichner, wird er als Standardformatbezeichner für Datum und Uhrzeit interpretiert, und eine FormatException wird ausgelöst. Weitere Informationen zur Verwendung eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern weiter unten in diesem Artikel.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "z" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = DateTime.UtcNow;
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
                  date1));
// Displays -7, -07, -07:00 on .NET Framework
// Displays +0, +00, +00:00 on .NET Core and .NET 5+

DateTimeOffset date2 = new DateTimeOffset(2008, 8, 1, 0, 0, 0,
                                          new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
                  date2));
// Displays +6, +06, +06:00
Dim date1 As Date = Date.UtcNow
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date1))
' Displays -7, -07, -07:00 on .NET Framework
' Displays +0, +00, +00:00 on .NET Core and .NET 5+

Dim date2 As New DateTimeOffset(2008, 8, 1, 0, 0, 0, _
                                New Timespan(6, 0, 0))
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date2))
' Displays +6, +06, +06:00

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „zz“

Mit DateTime-Werten stellt der benutzerdefinierte Formatbezeichner „zz“ den Offsetwert mit Vorzeichen der Zeitzone des lokalen Betriebssystems ab der koordinierten Weltzeit (Coordinated Universal Time, UTC) dar, gemessen in Stunden. Der Offset wird immer mit einem vorangestellten Plus- oder Minuszeichen angezeigt. Ein Pluszeichen (+) gibt die Stunden vor UTC, ein Minuszeichen (-) die Stunden nach UTC an. Einstellige Offsetwerte werden mit einer führenden Null formatiert.

In der folgenden Tabelle wird gezeigt, wie sich der Offsetwert abhängig von DateTimeKind ändert.

Wert vom Typ DateTimeKind Offsetwert
Local Der Offsetwert mit Vorzeichen der Zeitzone des lokalen Betriebssystems ab UTC.
Unspecified Der Offsetwert mit Vorzeichen der Zeitzone des lokalen Betriebssystems ab UTC.
Utc +00 unter .NET Core und .NET 5 und höher.

Auf -NET Framework der Offsetwert mit Vorzeichen der Zeitzone des lokalen Betriebssystems ab UTC.

Mit DateTimeOffset-Werten stellt dieser Formatbezeichner den Offset eines DateTimeOffset-Werts in Stunden und Minuten von UTC dar.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "zz" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = DateTime.UtcNow;
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
                  date1));
// Displays -7, -07, -07:00 on .NET Framework
// Displays +0, +00, +00:00 on .NET Core and .NET 5+

DateTimeOffset date2 = new DateTimeOffset(2008, 8, 1, 0, 0, 0,
                                          new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
                  date2));
// Displays +6, +06, +06:00
Dim date1 As Date = Date.UtcNow
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date1))
' Displays -7, -07, -07:00 on .NET Framework
' Displays +0, +00, +00:00 on .NET Core and .NET 5+

Dim date2 As New DateTimeOffset(2008, 8, 1, 0, 0, 0, _
                                New Timespan(6, 0, 0))
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date2))
' Displays +6, +06, +06:00

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „zzz“

Mit DateTime-Werten stellt der benutzerdefinierte Formatbezeichner „zzz“ den Offsetwert mit Vorzeichen der angegebenen Zeitzone ab der koordinierten Weltzeit (Coordinated Universal Time, UTC) dar, gemessen in Stunden und Minuten. Der Offset wird immer mit einem vorangestellten Plus- oder Minuszeichen angezeigt. Ein Pluszeichen (+) gibt die Stunden vor UTC, ein Minuszeichen (-) die Stunden nach UTC an. Einstellige Offset-Werte werden mit einer führenden Null formatiert.

In der folgenden Tabelle wird gezeigt, wie sich der Offsetwert abhängig von DateTimeKind ändert.

Wert vom Typ DateTimeKind Offsetwert
Local Der Offsetwert mit Vorzeichen der Zeitzone des lokalen Betriebssystems ab UTC.
Unspecified Der Offsetwert mit Vorzeichen der Zeitzone des lokalen Betriebssystems ab UTC.
Utc +00:00 unter .NET Core und .NET 5 und höher.

Auf -NET Framework der Offsetwert mit Vorzeichen der Zeitzone des lokalen Betriebssystems ab UTC.

Mit DateTimeOffset-Werten stellt dieser Formatbezeichner den Offset eines DateTimeOffset-Werts von UTC in Stunden und Minuten dar.

Das folgende Beispiel schließt den benutzerdefinierten Formatbezeichner "zzz" in eine benutzerdefinierte Formatzeichenfolge ein.

DateTime date1 = DateTime.UtcNow;
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
                  date1));
// Displays -7, -07, -07:00 on .NET Framework
// Displays +0, +00, +00:00 on .NET Core and .NET 5+

DateTimeOffset date2 = new DateTimeOffset(2008, 8, 1, 0, 0, 0,
                                          new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
                  date2));
// Displays +6, +06, +06:00
Dim date1 As Date = Date.UtcNow
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date1))
' Displays -7, -07, -07:00 on .NET Framework
' Displays +0, +00, +00:00 on .NET Core and .NET 5+

Dim date2 As New DateTimeOffset(2008, 8, 1, 0, 0, 0, _
                                New Timespan(6, 0, 0))
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date2))
' Displays +6, +06, +06:00

Zurück zur Tabelle

Trennzeichenspezifizierer für Datum und Uhrzeit

Der benutzerdefinierte Formatbezeichner „:“

Der benutzerdefinierte Formatbezeichner ":" stellt das Trennzeichen für Zeitangaben dar, mit dem zwischen Stunden und Minuten unterschieden werden kann. Das entsprechende lokalisierte Trennzeichen für Zeitangaben wird aus der DateTimeFormatInfo.TimeSeparator-Eigenschaft der aktuellen Kultur oder der angegebenen Kultur abgerufen.

Hinweis

Um das Trennzeichen für Zeitangaben für ein bestimmtes Datum und eine Uhrzeit-Zeichenfolge zu ändern, geben Sie das Trennzeichen in ein Zeichenfolgenliteral-Trennzeichen. Z. B. die benutzerdefinierte Formatzeichenfolge hh'_'dd'_'ss erzeugt eine Ergebniszeichenfolge, die in dem "_" (Unterstrich) immer als Trennzeichen verwendet wird. Um das Trennzeichen für Zeitangaben für alle Termine für eine Kultur zu ändern, ändern Sie entweder Sie den Wert der DateTimeFormatInfo.TimeSeparator-Eigenschaft für die aktuelle Kultur, oder instanziieren Sie ein DateTimeFormatInfo-Objekt, weisen Sie das Zeichen der TimeSeparator-Eigenschaft zu, und rufen Sie eine Überladung der Formatierungsmethode auf, die einen IFormatProvider-Parameter enthält.

Wenn der Formatbezeichner „/“ allein verwendet wird, d.h. ohne andere benutzerdefinierte Formatbezeichner, wird er als Standardformatbezeichner für Datum und Uhrzeit interpretiert, und eine FormatException wird ausgelöst. Weitere Informationen zur Verwendung eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern weiter unten in diesem Artikel.

Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner „/“

Der benutzerdefinierte Formatbezeichner "/" stellt das Datumstrennzeichen dar, mit dem zwischen Jahren, Monaten und Tagen unterschieden wird. Das entsprechende lokalisierte Trennzeichen für Datumsangaben wird aus der DateTimeFormatInfo.DateSeparator-Eigenschaft der aktuellen Kultur oder der angegebenen Kultur abgerufen.

Hinweis

Um das Datumstrennzeichen für ein bestimmtes Datum und eine Uhrzeit-Zeichenfolge zu ändern, geben Sie das Trennzeichen in einem Zeichenfolgenliteral-Trennzeichen an. Die benutzerdefinierte Formatzeichenfolge mm'/'dd'/'yyyy erzeugt beispielsweise eine Ergebniszeichenfolge, in der "/" immer als Datumstrennzeichen verwendet wird. Um das Trennzeichen für Datumsangaben für alle Termine für eine Kultur zu ändern, entweder ändern Sie den Wert der DateTimeFormatInfo.DateSeparator-Eigenschaft für die aktuelle Kultur, oder instanziieren Sie ein DateTimeFormatInfo-Objekt, weisen Sie das Zeichen der DateSeparator-Eigenschaft zu, und rufen Sie eine Überladung der Formatierungsmethode auf, die einen IFormatProvider-Parameter enthält.

Wenn der Formatbezeichner „/“ allein verwendet wird, d.h. ohne andere benutzerdefinierte Formatbezeichner, wird er als Standardformatbezeichner für Datum und Uhrzeit interpretiert, und eine FormatException wird ausgelöst. Weitere Informationen zur Verwendung eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern weiter unten in diesem Artikel.

Zurück zur Tabelle

Zeichenliterale

Die folgenden Zeichen in einer benutzerdefinierten Formatzeichenfolge für Datum und Uhrzeit sind reserviert und werden immer als Formatierungszeichen bzw. im Fall von ", ', / und \ als Sonderzeichen interpretiert.

  • F
  • H
  • K
  • M
  • d
  • f
  • g
  • h
  • m
  • s
  • t
  • y
  • z
  • %
  • :
  • /
  • "
  • '
  • \

Alle anderen Zeichen werden immer als Zeichenliterale interpretiert und bei einem Formatierungsvorgang unverändert in die Ergebniszeichenfolge übernommen. In einem Analysevorgang müssen die Zeichen exakt den Zeichen in der Eingabezeichenfolge entsprechen, beim Vergleich wird die Groß- und Kleinschreibung beachtet.

Das folgende Beispiel enthält die Literalzeichen „PST“ (für Pacific Standard Time) und „PDT“ (für Pacific Daylight Time), um die lokale Zeitzone in einer Formatzeichenfolge darzustellen. Beachten Sie, dass die Zeichenfolge in der Ergebniszeichenfolge enthalten ist und dass eine Zeichenfolge, die die Zeichenfolge der lokalen Zeitzone enthält, ebenfalls erfolgreich analysiert wird.

using System;
using System.Globalization;

public class Example5
{
    public static void Main()
    {
        String[] formats = { "dd MMM yyyy hh:mm tt PST",
                           "dd MMM yyyy hh:mm tt PDT" };
        var dat = new DateTime(2016, 8, 18, 16, 50, 0);
        // Display the result string.
        Console.WriteLine(dat.ToString(formats[1]));

        // Parse a string.
        String value = "25 Dec 2016 12:00 pm PST";
        DateTime newDate;
        if (DateTime.TryParseExact(value, formats, null,
                                   DateTimeStyles.None, out newDate))
            Console.WriteLine(newDate);
        else
            Console.WriteLine("Unable to parse '{0}'", value);
    }
}
// The example displays the following output:
//       18 Aug 2016 04:50 PM PDT
//       12/25/2016 12:00:00 PM
Imports System.Globalization

Module Example
    Public Sub Main()
        Dim formats() As String = {"dd MMM yyyy hh:mm tt PST",
                                    "dd MMM yyyy hh:mm tt PDT"}
        Dim dat As New Date(2016, 8, 18, 16, 50, 0)
        ' Display the result string. 
        Console.WriteLine(dat.ToString(formats(1)))

        ' Parse a string. 
        Dim value As String = "25 Dec 2016 12:00 pm PST"
        Dim newDate As Date
        If Date.TryParseExact(value, formats, Nothing,
                              DateTimeStyles.None, newDate) Then
            Console.WriteLine(newDate)
        Else
            Console.WriteLine("Unable to parse '{0}'", value)
        End If
    End Sub
End Module
' The example displays the following output:
'       18 Aug 2016 04:50 PM PDT
'       12/25/2016 12:00:00 PM

Es gibt zwei Möglichkeiten, um anzugeben, dass Zeichen nicht als reservierte Zeichen, sondern als Literalzeichen interpretiert werden sollen, damit sie in eine Ergebniszeichenfolge eingeschlossen oder in einer Eingabezeichenfolge erfolgreich analysiert werden können:

Das folgende Beispiel enthält die Literalzeichen „pst“ (für Pacific Standard Time), um die lokale Zeitzone in einer Formatzeichenfolge darzustellen. Da „s“ und „t“ benutzerdefinierte Formatzeichenfolgen sind, müssen beide Zeichen mit Escapezeichen versehen werden, damit sie als Zeichenliterale interpretiert werden können.

using System;
using System.Globalization;

public class Example3
{
    public static void Main()
    {
        String format = "dd MMM yyyy hh:mm tt p\\s\\t";
        var dat = new DateTime(2016, 8, 18, 16, 50, 0);
        // Display the result string.
        Console.WriteLine(dat.ToString(format));

        // Parse a string.
        String value = "25 Dec 2016 12:00 pm pst";
        DateTime newDate;
        if (DateTime.TryParseExact(value, format, null,
                                   DateTimeStyles.None, out newDate))
            Console.WriteLine(newDate);
        else
            Console.WriteLine("Unable to parse '{0}'", value);
    }
}
// The example displays the following output:
//       18 Aug 2016 04:50 PM pst
//       12/25/2016 12:00:00 PM
Imports System.Globalization

Module Example
    Public Sub Main()
        Dim fmt As String = "dd MMM yyyy hh:mm tt p\s\t"
        Dim dat As New Date(2016, 8, 18, 16, 50, 0)
        ' Display the result string. 
        Console.WriteLine(dat.ToString(fmt))

        ' Parse a string. 
        Dim value As String = "25 Dec 2016 12:00 pm pst"
        Dim newDate As Date
        If Date.TryParseExact(value, fmt, Nothing,
                              DateTimeStyles.None, newDate) Then
            Console.WriteLine(newDate)
        Else
            Console.WriteLine("Unable to parse '{0}'", value)
        End If
    End Sub
End Module
' The example displays the following output:
'       18 Aug 2016 04:50 PM pst
'       12/25/2016 12:00:00 PM
  • Schließen Sie die gesamte Literalzeichenfolge in Anführungszeichen oder Apostrophe ein. Das folgende Beispiel ist das gleiche wie das vorherige, außer dass „pst“ in Anführungszeichen eingeschlossen ist, um anzugeben, dass die gesamte Zeichenfolge als Zeichenliterale interpretiert werden soll.
using System;
using System.Globalization;

public class Example6
{
    public static void Main()
    {
        String format = "dd MMM yyyy hh:mm tt \"pst\"";
        var dat = new DateTime(2016, 8, 18, 16, 50, 0);
        // Display the result string.
        Console.WriteLine(dat.ToString(format));

        // Parse a string.
        String value = "25 Dec 2016 12:00 pm pst";
        DateTime newDate;
        if (DateTime.TryParseExact(value, format, null,
                                   DateTimeStyles.None, out newDate))
            Console.WriteLine(newDate);
        else
            Console.WriteLine("Unable to parse '{0}'", value);
    }
}
// The example displays the following output:
//       18 Aug 2016 04:50 PM pst
//       12/25/2016 12:00:00 PM
Imports System.Globalization

Module Example
    Public Sub Main()
        Dim fmt As String = "dd MMM yyyy hh:mm tt ""pst"""
        Dim dat As New Date(2016, 8, 18, 16, 50, 0)
        ' Display the result string. 
        Console.WriteLine(dat.ToString(fmt))

        ' Parse a string. 
        Dim value As String = "25 Dec 2016 12:00 pm pst"
        Dim newDate As Date
        If Date.TryParseExact(value, fmt, Nothing,
                              DateTimeStyles.None, newDate) Then
            Console.WriteLine(newDate)
        Else
            Console.WriteLine("Unable to parse '{0}'", value)
        End If
    End Sub
End Module
' The example displays the following output:
'       18 Aug 2016 04:50 PM pst
'       12/25/2016 12:00:00 PM

Hinweise

Verwenden von einzelnen benutzerdefinierten Formatbezeichnern

Eine benutzerdefinierte Formatzeichenfolge für Datum und Uhrzeit besteht aus zwei oder mehr Zeichen. Formatierungsmethoden für Datum und Uhrzeit interpretieren einzelne Zeichenfolgen als Standardformatzeichenfolgen für Datum und Uhrzeit. Wenn ein Zeichen nicht als gültiger Formatbezeichner erkannt wird, wird eine FormatException ausgelöst. Wenn die Formatzeichenfolge beispielsweise nur aus dem h-Bezeichner besteht, wird sie als Standardformatzeichenfolge für Datum und Uhrzeit interpretiert. In diesem speziellen Fall wird jedoch eine Ausnahme ausgelöst, weil kein Standardformatbezeichner „h“ für Datum und Uhrzeit vorhanden ist.

Wenn Sie einen benutzerdefinierten Formatbezeichner für Datum und Uhrzeit als einzigen Bezeichner in einer Formatierungszeichenfolge verwenden möchten, d. h. wenn Sie den benutzerdefinierten Formatbezeichner "d", "f", "F", "g", "h", "H", "K", "m", "M", "s", "t", "y", "z", ":" oder "/" ohne einen anderen Bezeichner verwenden möchten, müssen Sie ein Leerzeichen vor oder nach dem Bezeichner angeben, oder Sie stellen dem einzelnen benutzerdefinierten Bezeichner für Datum und Uhrzeit einen Prozentformatbezeichner (%) voran.

Beispielsweise wird %h" als benutzerdefinierte Formatzeichenfolge für Datum und Uhrzeit interpretiert, mit der die durch den aktuellen Wert von Datum und Uhrzeit dargestellte Stunde angezeigt wird. Sie können auch die Formatzeichenfolge " h" oder "h " verwenden, obwohl dadurch ein Leerzeichen zusammen mit der Stunde in die Ergebniszeichenfolge eingeschlossen wird. Im folgenden Beispiel werden diese drei Formatzeichenfolgen veranschaulicht.

DateTime dat1 = new DateTime(2009, 6, 15, 13, 45, 0);

Console.WriteLine("'{0:%h}'", dat1);
Console.WriteLine("'{0: h}'", dat1);
Console.WriteLine("'{0:h }'", dat1);
// The example displays the following output:
//       '1'
//       ' 1'
//       '1 '
Dim dat1 As Date = #6/15/2009 1:45PM#

Console.WriteLine("'{0:%h}'", dat1)
Console.WriteLine("'{0: h}'", dat1)
Console.WriteLine("'{0:h }'", dat1)
' The example displays the following output:
'       '1'
'       ' 1'
'       '1 '

Verwenden des Escapezeichens

Die Zeichen "d", "f", "F", "g", "h", "H", "K", "m", "M", "s", "t", "y", "z", ":" oder "/" in einer Formatzeichenfolge werden als benutzerdefinierte Formatbezeichner und nicht als Literalzeichen interpretiert. Um zu verhindern, dass ein Zeichen als Formatbezeichner interpretiert wird, können Sie einen umgekehrten Schrägstrich (\) als Escapezeichen voranstellen. Das Escapezeichen gibt an, dass das folgende Zeichen ein Zeichenliteral ist, das unverändert in der Ergebniszeichenfolge enthalten sein soll.

Um einen umgekehrten Schrägstrich in eine Ergebniszeichenfolge einzuschließen, müssen Sie diesen mit einem weiteren umgekehrten Schrägstrich versehen, der als Escapezeichen dient (\\).

Hinweis

Einige Compiler, z. B. C++- und C#-Compiler, interpretieren möglicherweise auch einen einzelnen umgekehrten Schrägstrich als Escapezeichen. Um sicherzustellen, dass eine Zeichenfolge bei der Formatierung ordnungsgemäß interpretiert wird, können Sie der Zeichenfolge in C# das Literalzeichen für wörtliche Zeichenfolgen (@-Zeichen) voranstellen, oder Sie können jedem umgekehrten Schrägstrich in C# und C++ einen weiteren umgekehrten Schrägstrich voranstellen. Beide Verfahren werden im folgenden C#-Codebeispiel veranschaulicht.

Im folgenden Beispiel wird das Escapezeichen verwendet, um zu verhindern, dass der Formatierungsvorgang die Zeichen "h" und "m" als Formatbezeichner interpretiert.

DateTime date = new DateTime(2009, 06, 15, 13, 45, 30, 90);
string fmt1 = "h \\h m \\m";
string fmt2 = @"h \h m \m";

Console.WriteLine("{0} ({1}) -> {2}", date, fmt1, date.ToString(fmt1));
Console.WriteLine("{0} ({1}) -> {2}", date, fmt2, date.ToString(fmt2));
// The example displays the following output:
//       6/15/2009 1:45:30 PM (h \h m \m) -> 1 h 45 m
//       6/15/2009 1:45:30 PM (h \h m \m) -> 1 h 45 m
Dim date1 As Date = #6/15/2009 13:45#
Dim fmt As String = "h \h m \m"

Console.WriteLine("{0} ({1}) -> {2}", date1, fmt, date1.ToString(fmt))
' The example displays the following output:
'       6/15/2009 1:45:00 PM (h \h m \m) -> 1 h 45 m      

Einstellungen der Systemsteuerung

Die Einstellungen der Regions- und Sprachoptionen in der Systemsteuerung beeinflussen die durch einen Formatierungsvorgang erstellte Ergebniszeichenfolge, die viele der benutzerdefinierten Formatbezeichner für Datum und Uhrzeit enthält. Mithilfe dieser Einstellungen wird das DateTimeFormatInfo-Objekt initialisiert, das der aktuellen Kultur zugeordnet ist. Es stellt Werte zur Steuerung der Formatierung bereit. Auf Computern mit anderen Einstellungen werden andere Ergebniszeichenfolgen generiert.

Wenn Sie den CultureInfo(String)-Konstruktor verwenden, 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(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 Kultur oder explizit durch den IFormatProvider-Parameter der Methode bereitgestellt wird, die die Formatierung aufruft. Geben Sie für den IFormatProvider-Parameter ein CultureInfo-Objekt an, das eine Kultur oder ein DateTimeFormatInfo-Objekt darstellt.

Die von vielen der benutzerdefinierten Formatbezeichner für Datum und Uhrzeit erzeugte Ergebniszeichenfolge hängt auch von den Eigenschaften des aktuellen DateTimeFormatInfo-Objekts ab. Die Anwendung kann das von einigen Standardformatbezeichnern für Datum und Uhrzeit erstellte Ergebnis ändern, indem sie die entsprechende DateTimeFormatInfo-Eigenschaft ändert. So fügt beispielsweise der Formatbezeichner "ddd" der Ergebniszeichenfolge einen abgekürzten Wochentagsnamen hinzu, der im AbbreviatedDayNames-Zeichenfolgen-Array gefunden wird. Entsprechend fügt der Formatbezeichner "MMMM" der Ergebniszeichenfolge einen vollständigen Monatsnamen hinzu, der im MonthNames-Zeichenfolgenarray gefunden wird.

Siehe auch