Benutzerdefinierte DateTime-Formatzeichenfolgen

Eine benutzerdefinierte DateTime-Formatzeichenfolge besteht aus einem oder mehreren benutzerdefinierten DateTime-Formatbezeichnern und definiert die Textdarstellung eines durch einen Formatierungsvorgang erstellten DateTime-Objekts. Alle Zeichenfolgen, bei denen es sich nicht um DateTime-Standardformatzeichenfolgen handelt, werden als benutzerdefinierte DateTime-Formatzeichenfolgen interpretiert.

Benutzerdefinierte DateTime-Formatbezeichner

In der folgenden Tabelle werden die benutzerdefinierten DateTime-Formatbezeichner beschrieben. Beispiele für die von den einzelnen Formatbezeichnern erstellte Ausgabe finden Sie unter Beispiele für die Ausgabe benutzerdefinierter DateTime-Formatzeichenfolgen.

Formatbezeichner Beschreibung

d

Stellt den Tag eines Monats als Zahl von 1 bis 31 dar. Einstellige Tage werden ohne führende Null formatiert. Weitere Informationen zum Verwenden eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern.

dd

Stellt den Tag eines Monats als Zahl von 01 bis 31 dar. Einstellige Tage werden mit einer führenden Null formatiert.

ddd

Stellt den in der aktuellen System.Globalization.DateTimeFormatInfo.AbbreviatedDayNames-Eigenschaft definierten abgekürzten Namen des Wochentags dar.

dddd (plus einer beliebigen Anzahl zusätzlicher "d"-Bezeichner)

Stellt den in der aktuellen System.Globalization.DateTimeFormatInfo.DayNames-Eigenschaft definierten vollständigen Namen des Wochentags dar.

f

Stellt die signifikanteste Ziffer des Sekundenbruchteils dar.

Wenn der "f"-Formatbezeichner allein verwendet wird, d. h. ohne andere Formatbezeichner, wird er als DateTime-Standardformatbezeichner "f" (vollständiges Datums-/Zeitmuster) interpretiert. Weitere Informationen zum Verwenden eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern.

Wenn Sie diesen Formatbezeichner mit der ParseExact-Methode oder der TryParseExact-Methode verwenden, gibt die Anzahl der von Ihnen verwendeten "f"-Formatbezeichner die Anzahl der signifikantesten Ziffern des zu analysierenden Sekundenbruchteils an.

ff

Stellt die zwei signifikantesten Ziffern des Sekundenbruchteils dar.

fff

Stellt die drei signifikantesten Ziffern des Sekundenbruchteils dar.

ffff

Stellt die vier signifikantesten Ziffern des Sekundenbruchteils dar.

fffff

Stellt die fünf signifikantesten Ziffern des Sekundenbruchteils dar.

ffffff

Stellt die sechs signifikantesten Ziffern des Sekundenbruchteils dar.

fffffff

Stellt die sieben signifikantesten Ziffern des Sekundenbruchteils dar.

F

Stellt die signifikanteste Ziffer des Sekundenbruchteils dar. Es wird nichts angezeigt, wenn die Ziffer 0 (null) ist. Weitere Informationen zum Verwenden eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern.

Wenn Sie diesen Formatbezeichner mit der ParseExact-Methode oder der TryParseExact-Methode verwenden, gibt die Anzahl der von Ihnen verwendeten "F"-Formatbezeichner die maximale Anzahl der signifikantesten Ziffern des zu analysierenden Sekundenbruchteils an.

FF

Stellt die zwei signifikantesten Ziffern des Sekundenbruchteils dar. Nachfolgende Nullen (0) oder zwei 0-Ziffern werden jedoch nicht angezeigt.

FFF

Stellt die drei signifikantesten Ziffern des Sekundenbruchteils dar. Nachfolgende Nullen (0) oder drei 0-Ziffern werden jedoch nicht angezeigt.

FFFF

Stellt die vier signifikantesten Ziffern des Sekundenbruchteils dar. Nachfolgende Nullen (0) oder vier 0-Ziffern werden jedoch nicht angezeigt.

FFFFF

Stellt die fünf signifikantesten Ziffern des Sekundenbruchteils dar. Nachfolgende Nullen (0) oder fünf 0-Ziffern werden jedoch nicht angezeigt.

FFFFFF

Stellt die sechs signifikantesten Ziffern des Sekundenbruchteils dar. Nachfolgende Nullen (0) oder sechs 0-Ziffern werden jedoch nicht angezeigt.

FFFFFFF

Stellt die sieben signifikantesten Ziffern des Sekundenbruchteils dar. Nachfolgende Nullen (0) oder sieben 0-Ziffern werden jedoch nicht angezeigt.

g oder gg (plus einer beliebigen Anzahl zusätzlicher "g"-Bezeichner)

Stellt die Periode oder den Zeitraum (beispielsweise A.D.) dar. Dieser Bezeichner wird ignoriert, wenn dem zu formatierenden Datum keine Zeichenfolge für die Periode oder den Zeitraum zugeordnet ist. Weitere Informationen zum Verwenden eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern.

h

Stellt die Stunde als Zahl von 1 bis 12 dar. Die Stunde wird dabei im 12-Stunden-Format dargestellt, bei dem die ganzen Stunden ab Mitternacht oder 12 Uhr mittags gezählt werden. Infolgedessen lässt sich eine Stunde nach Mitternacht nicht von derselben Stunde nach 12 Uhr mittags unterscheiden. Die Stunde wird nicht gerundet. Einstellige Stunden werden ohne führende Null formatiert. Lautet die Uhrzeit z. B. 5:43, so zeigt dieser Formatbezeichner "5" an. Weitere Informationen zum Verwenden eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern.

hh, hh (plus einer beliebigen 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 ganzen Stunden ab Mitternacht oder 12 Uhr mittags gezählt werden. Infolgedessen lässt sich eine Stunde nach Mitternacht nicht von derselben Stunde nach 12 Uhr mittags unterscheiden. Die Stunde wird nicht gerundet. Einstellige Stunden werden mit einer führenden Null formatiert. Lautet die Uhrzeit z. B. 5:43, so zeigt dieser Formatbezeichner "05" an.

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.

HH, HH (plus einer beliebigen 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.

K

Stellt verschiedene Werte der DateTime.Kind-Eigenschaft dar, d. h. Local, Utc oder Unspecified. Dieser Bezeichner konvertiert den kind-Wert in Text zurück und behält die Zeitzone bei. Wenn Local als kind-Wert angegeben ist, entspricht dieser Bezeichner dem "zzz"-Bezeichner und zeigt den lokalen Offset an, z. B. "-07:00". Wenn Utc als kind-Wert angegeben ist, zeigt der Bezeichner ein "Z"-Zeichen an, um ein UTC-Datum darzustellen. Wenn Unspecified als kind-Wert festgelegt, entspricht der Bezeichner "" (kein Wert).

m

Stellt die Minute als Zahl von 0 bis 59 dar. Die Minute stellt die seit der letzten Stunde vergangenen ganzen Minuten dar. Einstellige Minuten werden ohne führende Null formatiert. Weitere Informationen zum Verwenden eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern.

mm, mm (plus einer beliebigen Anzahl zusätzlicher "m"-Bezeichner)

Stellt die Minute als Zahl von 00 bis 59 dar. Die Minute stellt die seit der letzten Stunde vergangenen ganzen Minuten dar. Einstellige Minuten werden mit einer führenden Null formatiert.

M

Stellt den Monat als Zahl von 1 bis 12 dar. Einstellige Monate werden ohne führende Null formatiert. Weitere Informationen zum Verwenden eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern.

MM

Stellt den Monat als Zahl von 01 bis 12 dar. Einstellige Monate werden mit einer führenden Null formatiert.

MMM

Stellt den in der aktuellen System.Globalization.DateTimeFormatInfo.AbbreviatedMonthNames-Eigenschaft definierten abgekürzten Namen des Monats dar.

MMMM

Stellt den in der aktuellen System.Globalization.DateTimeFormatInfo.MonthNames-Eigenschaft definierten vollständigen Namen des Monats dar.

s

Stellt die Sekunden als Zahl von 0 bis 59 dar. Die Sekunde stellt die seit der letzten Minute vergangenen ganzen Sekunden dar. Einstellige Sekunden werden ohne führende Null formatiert. Weitere Informationen zum Verwenden eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern.

ss, ss (plus einer beliebigen Anzahl zusätzlicher "s"-Bezeichner)

Stellt die Sekunden als Zahl von 00 bis 59 dar. Die Sekunde stellt die seit der letzten Minute vergangenen ganzen Sekunden dar. Einstellige Sekunden werden mit einer führenden Null formatiert.

t

Stellt das erste Zeichen des in der aktuellen System.Globalization.DateTimeFormatInfo.AMDesignator-Eigenschaft oder System.Globalization.DateTimeFormatInfo.PMDesignator-Eigenschaft definierten A.M.-/P.M.-Bezeichners dar. Der A.M.-Bezeichner wird verwendet, wenn die Stunde in der Uhrzeit, die formatiert wird, kleiner als 12 ist. Andernfalls wird der P.M.-Bezeichner verwendet. Weitere Informationen zum Verwenden eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern.

tt, tt (plus einer beliebigen Anzahl zusätzlicher "t"-Bezeichner)

Stellt den in der aktuellen System.Globalization.DateTimeFormatInfo.AMDesignator-Eigenschaft oder System.Globalization.DateTimeFormatInfo.PMDesignator-Eigenschaft definierten A.M.-/P.M.-Bezeichner dar. Der A.M.-Bezeichner wird verwendet, wenn die Stunde in der Uhrzeit, die formatiert wird, kleiner als 12 ist. Andernfalls wird der P.M.-Bezeichner verwendet.

y

Stellt das Jahr als eine höchstens 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 Ziffern, wird die Zahl ohne führende Null formatiert. Weitere Informationen zum Verwenden eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern.

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 Ziffern, wird die Zahl mit führenden Nullen auf eine zweistellige Jahresangabe aufgefüllt.

yyy

Stellt das Jahr als dreistellige Zahl dar. Falls das Jahr mehr als drei Ziffern umfasst, werden im Ergebnis nur die drei niedrigwertigen Ziffern angezeigt. Umfasst das Jahr weniger als drei Ziffern, wird die Zahl mit führenden Nullen auf eine dreistellige Jahresangabe aufgefüllt.

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

yyyy

Stellt das Jahr als vierstellige Zahl dar. Falls das Jahr mehr als vier Ziffern umfasst, werden im Ergebnis nur die vier niedrigwertigen Ziffern angezeigt. Umfasst das Jahr weniger als vier Ziffern, wird die Zahl mit führenden Nullen auf eine vierstellige Jahresangabe aufgefüllt.

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

yyyyy (plus einer beliebigen Anzahl zusätzlicher "y"-Bezeichner)

Stellt das Jahr als fünfstellige Zahl dar. Falls das Jahr mehr als fünf Ziffern umfasst, werden im Ergebnis nur die fünf niedrigwertigen Ziffern angezeigt. 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.

z

Stellt den mit einem Vorzeichen versehenen Wert für den Zeitzonenoffset des Systems von Greenwich Mean Time (GMT) dar, gemessen in Stunden. Der Offset für einen Computer in der Zeitzone Pacific Standard Time ist beispielsweise "-8".

Der Offset wird immer mit einem vorangestellten Plus- oder Minuszeichen angezeigt. Ein Pluszeichen (+) gibt die Stunden vor GMT, ein Minuszeichen (-) die Stunden nach GMT an. Der Offsetbereich liegt zwischen -12 und +13. Einstellige Offsets werden ohne führende Null formatiert. Der Offset wird durch die Sommerzeit beeinflusst. Weitere Informationen zum Verwenden eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern.

zz

Stellt den mit einem Vorzeichen versehenen Wert für den Zeitzonenoffset des Systems von Greenwich Mean Time (GMT) dar, gemessen in Stunden. Der Offset für einen Computer in der Zeitzone Pacific Standard Time ist beispielsweise "-08".

Der Offset wird immer mit einem vorangestellten Plus- oder Minuszeichen angezeigt. Ein Pluszeichen (+) gibt die Stunden vor GMT, ein Minuszeichen (-) die Stunden nach GMT an. Der Offsetbereich liegt zwischen -12 und +13. Einstellige Offsets werden mit einer führenden Null formatiert. Der Offset wird durch die Sommerzeit beeinflusst.

zzz, zzz (plus einer beliebigen Anzahl zusätzlicher "z"-Bezeichner)

Stellt den mit einem Vorzeichen versehenen Wert für den Zeitzonenoffset des Systems von Greenwich Mean Time (GMT) dar, gemessen in Stunden und Minuten. Der Offset für einen Computer in der Zeitzone Pacific Standard Time ist beispielsweise "-08:00".

Der Offset wird immer mit einem vorangestellten Plus- oder Minuszeichen angezeigt. Ein Pluszeichen (+) gibt die Stunden vor GMT, ein Minuszeichen (-) die Stunden nach GMT an. Der Offsetbereich liegt zwischen -12 und +13. Einstellige Offsets werden mit einer führenden Null formatiert. Der Offset wird durch die Sommerzeit beeinflusst.

:

Das in der aktuellen System.Globalization.DateTimeFormatInfo.TimeSeparator-Eigenschaft definierte Trennzeichen für Zeitangaben, mit dem Stunden, Minuten und Sekunden voneinander getrennt werden.

/

Das in der aktuellen System.Globalization.DateTimeFormatInfo.DateSeparator-Eigenschaft definierte Trennzeichen für Datumsangaben, mit dem Jahre, Monate und Tage voneinander getrennt werden.

"

Zeichenfolge in Anführungszeichen. Zeigt den literalen Wert einer Zeichenfolge zwischen zwei Anführungszeichen (") an. Stellen Sie jedem Anführungszeichen ein Escapezeichen (\) voran.

'

Zeichenfolge in Apostrophen. Zeigt den literalen Wert einer Zeichenfolge zwischen zwei Apostrophzeichen (') an.

%c

Stellt das einem benutzerdefinierten "c"-Formatbezeichner zugeordnete Ergebnis dar, wenn die benutzerdefinierte DateTime-Formatzeichenfolge nur aus diesem benutzerdefinierten Formatbezeichner besteht. Das heißt, wenn Sie den benutzerdefinierten Formatbezeichner "d", "f", "F", "h", "m", "s", "t", "y", "z", "H" oder "M" allein verwenden, geben Sie "%d", "%f", "%F", "%h", "%m", "%s", "%t", "%y", "%z", "%H" oder "%M" an. Weitere Informationen zum Verwenden eines einzelnen Formatbezeichners finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern.

\c

Escapezeichen. Zeigt das "c"-Zeichen als Literal an, wenn ihm das Escapezeichen (\) vorangestellt wird. Um den umgekehrten Schrägstrich in die Ergebniszeichenfolge einzufügen, verwenden Sie zwei Escapezeichen ("\\").

Jedes andere Zeichen

Jedes andere Zeichen wird in die Ergebniszeichenfolge kopiert, ohne die Formatierung zu beeinflussen.

Einstellungen der Systemsteuerung

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

DateTimeFormatInfo-Eigenschaften

Die Formatierung wird durch die Eigenschaften des aktuellen DateTimeFormatInfo-Objekts beeinflusst, das implizit durch die aktuelle Threadkultur oder explizit durch den IFormatProvider-Parameter der Methode bereitgestellt wird, die die Formatierung aufruft. Geben Sie für den IFormatProvider-Parameter ein CultureInfo-Objekt an, das eine Kultur oder ein DateTimeFormatInfo-Objekt darstellt.

Bei vielen der DateTime-Standardformatbezeichner handelt es sich um Aliase für Formatierungsmuster, die durch Eigenschaften des aktuellen DateTimeFormatInfo-Objekts definiert werden. Dies bedeutet, dass Sie das von einigen DateTime-Standardformatbezeichnern erstellte Ergebnis ändern können, indem Sie die entsprechende DateTimeFormatInfo-Eigenschaft ändern.

Verwenden von einzelnen benutzerdefinierten Formatbezeichnern

Eine benutzerdefinierte DateTime-Formatzeichenfolge besteht aus zwei oder mehr Zeichen. Wenn die Formatzeichenfolge beispielsweise nur aus dem "h"-Bezeichner besteht, wird sie als DateTime-Standardformatzeichenfolge interpretiert. In diesem speziellen Fall wird jedoch eine Ausnahme ausgelöst, weil kein DateTime-Standardformatbezeichner "h" vorhanden ist.

Zur Verwendung eines einzelnen benutzerdefinierten DateTime-Formatbezeichners fügen Sie vor oder nach dem DateTime-Bezeichner ein Leerzeichen bzw. vor dem DateTime-Bezeichner einen Prozentformatbezeichner (%) ein. Die "h "-Formatzeichenfolge und die "%h"-Formatzeichenfolge werden z. B. als benutzerdefinierte DateTime-Formatzeichenfolgen interpretiert, mit denen die durch das aktuelle DateTime-Objekt dargestellte Stunde angezeigt wird. Bei der Verwendung eines Leerzeichens wird dieses in der Ergebniszeichenfolge als Literalzeichen angezeigt.

Verwenden von benutzerdefinierten Formatzeichenfolgen

Das folgende Codebeispiel veranschaulicht, wie aus einem DateTime-Objekt benutzerdefinierte Formatzeichenfolgen erstellt werden. In diesem Beispiel wird davon ausgegangen, dass die aktuelle Kultur Englisch (USA) (en-US) ist.

Dim MyDate As New DateTime(2000, 1, 1, 0, 0, 0)
Dim MyString As String = MyDate.ToString("dddd - d - MMMM")
' In the U.S. English culture, MyString has the value: 
' "Saturday - 1 - January".
MyString = MyDate.ToString("yyyy gg")
' In the U.S. English culture, MyString has the value: "2000 A.D.".
DateTime MyDate = new DateTime(2000, 1, 1, 0, 0, 0);
String MyString = MyDate.ToString("dddd - d - MMMM");
// In the U.S. English culture, MyString has the value: 
// "Saturday - 1 - January".
MyString = MyDate.ToString("yyyy gg");
// In the U.S. English culture, MyString has the value: "2000 A.D.".

Beispiel

Im folgenden Codebeispiel wird das von jedem benutzerdefinierten DateTime-Formatbezeichner gelieferte Ergebnis veranschaulicht.

' This code example demonstrates the result yielded by each custom 
' DateTime format specifier.
Imports System
Imports System.Globalization

Class Sample
    Public Shared Sub Main() 
        Dim formatString As String
        Dim ci As New CultureInfo("")
        Dim msgDTctor As String = "The DateTime constructor for " & _
                                  "January 3, 0001 A.D., 02:09:20.444 P.M. is" & vbLf & _
                                  "    DateTime(0001, 1, 3, 14, 9, 20, 444)" & vbLf
        Dim  thisDate As New DateTime(1, 1, 3, 14, 9, 20, 444)
        Dim   utcDate As New DateTime(0002, 2, 4, 15, 10, 21, 555, DateTimeKind.Utc)
        Dim localDate As New DateTime(0003, 3, 5, 16, 11, 22, 666, DateTimeKind.Local)
        
        ' Custom DateTime format specifiers.
        ' The specifiers are for year, month, day, era, hour, minute, second, fraction of a second, 
        ' A.M./P.M. designator, UTC offset, quoted string (apostrophe), quoted string (quotation mark),
        ' and escape character.
        Dim specifiers As String() =  New String() { _
                                      "%y", "yy", "yyy", "yyyy", "yyyyy", _
                                       "%M", "MM", "MMM", "MMMM", _
                                       "%d", "dd", "ddd", "dddd", _
                                       "%g", "gg", _
                                       "%h", "hh", "%H", "HH", _
                                       "%m", "mm", _
                                       "%s", "ss", _
                                       "%f", "ff", "fff", "ffff", "fffff", "ffffff", "fffffff", _
                                       "%F", "FF", "FFF", "FFFF", "FFFFF", "FFFFFF", "FFFFFFF", _
                                       "%t", "tt", _
                                       "%z", "zz", "zzz", _
                                       "'The year is' yyyy", _
                                       """The year is"" yyyy", _
                                       "\\"}

        Console.Clear()
        Console.WriteLine("The culture is {0}.", ci.DisplayName)
        Console.WriteLine(msgDTctor)
        Console.WriteLine("{0,20} {1}", "Custom format string", "Yields")
        Console.WriteLine("{0,20} {1}", "--------------------", "------")
        Dim format As String
        For Each format In specifiers
            formatString = """" & format & """"
            Console.WriteLine("{0,20} ""{1}""", formatString, thisDate.ToString(format))
        Next format

     Console.WriteLine()
     Console.WriteLine()

' Example of using "K" format specifier.
     Console.WriteLine("Format different kinds of DateTime using ""K""")
     Console.WriteLine("{0, 20} {1}", "DateTimeKind", "Yields")
     Console.WriteLine("{0,20} {1}", "------------", "------")
     Console.WriteLine("{0,20} ""{1}""",  thisDate.Kind,  thisDate.ToString("%K"))
     Console.WriteLine("{0,20} ""{1}""",   utcDate.Kind,   utcDate.ToString("%K"))
     Console.WriteLine("{0,20} ""{1}""", localDate.Kind, localDate.ToString("%K"))
        
    End Sub 'Main
End Class 'Sample

'This code example produces the following results:
'
'The culture is Invariant Language (Invariant Country).
'The DateTime constructor for January 3, 0001 A.D., 02:09:20.444 P.M. is
'    DateTime(0001, 1, 3, 14, 9, 20, 444)
'
'Custom format string Yields
'-------------------- ------
'                "%y" "1"
'                "yy" "01"
'               "yyy" "001"
'              "yyyy" "0001"
'             "yyyyy" "00001"
'                "%M" "1"
'                "MM" "01"
'               "MMM" "Jan"
'              "MMMM" "January"
'                "%d" "3"
'                "dd" "03"
'               "ddd" "Wed"
'              "dddd" "Wednesday"
'                "%g" "A.D."
'                "gg" "A.D."
'                "%h" "2"
'                "hh" "02"
'                "%H" "14"
'                "HH" "14"
'                "%m" "9"
'                "mm" "09"
'                "%s" "20"
'                "ss" "20"
'                "%f" "4"
'                "ff" "44"
'               "fff" "444"
'              "ffff" "4440"
'             "fffff" "44400"
'            "ffffff" "444000"
'           "fffffff" "4440000"
'                "%F" "4"
'                "FF" "44"
'               "FFF" "444"
'              "FFFF" "444"
'             "FFFFF" "444"
'            "FFFFFF" "444"
'           "FFFFFFF" "444"
'                "%t" "P"
'                "tt" "PM"
'                "%z" "-8"
'                "zz" "-08"
'               "zzz" "-08:00"
'"'The year is' yyyy" "The year is 0001"
'""The year is" yyyy" "The year is 0001"
'                "\\" "\"
'
'
'Format different kinds of DateTime using "K"
'        DateTimeKind Yields
'        ------------ ------
'         Unspecified ""
'                 Utc "Z"
'               Local "-08:00"
// This code example demonstrates the result yielded by each custom 
// DateTime format specifier.

using System;
using System.Globalization;

class Sample 
{
    public static void Main() 
    {
    string formatString;
    CultureInfo ci = new CultureInfo("");
    string msgDTctor = "The DateTime constructor for " + 
                       "January 3, 0001 A.D., 02:09:20.444 P.M. is\n" +
                       "    DateTime(0001, 1, 3, 14, 9, 20, 444)\n";
    DateTime thisDate  = new DateTime(0001, 1, 3, 14, 9, 20, 444);  // This is equal to DateTime thisDate  = new DateTime(0001, 1, 3, 14, 9, 20, 444, DateTime.Unspecified)
    DateTime utcDate   = new DateTime(0002, 2, 4, 15, 10, 21, 555, DateTimeKind.Utc);
    DateTime localDate = new DateTime(0003, 3, 5, 16, 11, 22, 666, DateTimeKind.Local);

// Custom DateTime format specifiers
    string[] specifiers = {
// Year
        "%y", 
        "yy", 
        "yyy", 
        "yyyy", 
        "yyyyy", 
// Month
        "%M", 
        "MM", 
        "MMM", 
        "MMMM", 
// Day
        "%d", 
        "dd", 
        "ddd", 
        "dddd",
// Era
        "%g",  
        "gg",  
// Hour
        "%h", 
        "hh", 
        "%H", 
        "HH", 
// Minute
        "%m", 
        "mm", 
// Second
        "%s", 
        "ss", 
// Fraction of a second
        "%f", 
        "ff", 
        "fff", 
        "ffff", 
        "fffff", 
        "ffffff", 
        "fffffff", 
        "%F", 
        "FF", 
        "FFF", 
        "FFFF", 
        "FFFFF", 
        "FFFFFF", 
        "FFFFFFF", 
// A.M./P.M. designator
        "%t", 
        "tt", 
// UTC offset
        "%z", 
        "zz", 
        "zzz", 
// Quoted string (apostrophe)
        "'The year is' yyyy", 
// Quoted string (quotation mark)
        "\"The year is\" yyyy",
// Escape character
        @"\\", 
        };
//
     Console.Clear();
     Console.WriteLine("The culture is {0}.", ci.DisplayName);
     Console.WriteLine(msgDTctor);
     Console.WriteLine("{0,20} {1}", "Custom format string", "Yields");
     Console.WriteLine("{0,20} {1}", "--------------------", "------");
     foreach (string format in specifiers)
         {
         formatString = "\"" + format + "\"";
         Console.WriteLine("{0,20} \"{1}\"", 
                            formatString, thisDate.ToString(format));
         }

     Console.WriteLine();
     Console.WriteLine();

// Example of using "K" format specifier.
     Console.WriteLine("Format different kinds of DateTime using \"K\"");
     Console.WriteLine("{0, 20} {1}", "DateTimeKind", "Yields");
     Console.WriteLine("{0,20} {1}", "------------", "------");
     Console.WriteLine("{0,20} \"{1}\"",  thisDate.Kind,  thisDate.ToString("%K"));
     Console.WriteLine("{0,20} \"{1}\"",   utcDate.Kind,   utcDate.ToString("%K"));
     Console.WriteLine("{0,20} \"{1}\"", localDate.Kind, localDate.ToString("%K"));

    }
}

/*
This code example produces the following results:

The culture is Invariant Language (Invariant Country).
The DateTime constructor for January 3, 0001 A.D., 02:09:20.444 P.M. is
    DateTime(0001, 1, 3, 14, 9, 20, 444)

Custom format string Yields
-------------------- ------
                "%y" "1"
                "yy" "01"
               "yyy" "001"
              "yyyy" "0001"
             "yyyyy" "00001"
                "%M" "1"
                "MM" "01"
               "MMM" "Jan"
              "MMMM" "January"
                "%d" "3"
                "dd" "03"
               "ddd" "Wed"
              "dddd" "Wednesday"
                "%g" "A.D."
                "gg" "A.D."
                "%h" "2"
                "hh" "02"
                "%H" "14"
                "HH" "14"
                "%m" "9"
                "mm" "09"
                "%s" "20"
                "ss" "20"
                "%f" "4"
                "ff" "44"
               "fff" "444"
              "ffff" "4440"
             "fffff" "44400"
            "ffffff" "444000"
           "fffffff" "4440000"
                "%F" "4"
                "FF" "44"
               "FFF" "444"
              "FFFF" "444"
             "FFFFF" "444"
            "FFFFFF" "444"
           "FFFFFFF" "444"
                "%t" "P"
                "tt" "PM"
                "%z" "-8"
                "zz" "-08"
               "zzz" "-08:00"
"'The year is' yyyy" "The year is 0001"
""The year is" yyyy" "The year is 0001"
                "\\" "\"

Format different kinds of DateTime using "K"
        DateTimeKind Yields
        ------------ ------
         Unspecified ""
                 Utc "Z"
               Local "-08:00"                
*/
// This code example demonstrates the result yielded by each custom 
// DateTime format specifier.

using namespace System;
using namespace System::Globalization;

    int main() 
    {
    String^ formatString;
    CultureInfo^ ci = gcnew CultureInfo("");
    String^ msgDTctor = "The DateTime constructor for "  
                       "January 3, 0001 A.D., 02:09:20.444 P.M. is\n" 
                       "    DateTime(0001, 1, 3, 14, 9, 20, 444)\n";
    DateTime^  thisDate = gcnew DateTime(0001, 1, 3, 14, 9, 20, 444);
    DateTime^   utcDate = gcnew DateTime(0002, 2, 4, 15, 10, 21, 555, DateTimeKind::Utc);
    DateTime^ localDate = gcnew DateTime(0003, 3, 5, 16, 11, 22, 666, DateTimeKind::Local);

// Custom DateTime format specifiers
    array<String^>^ specifiers = gcnew array<String^> {
// Year
        "%y", 
        "yy", 
        "yyy", 
        "yyyy", 
        "yyyyy", 
// Month
        "%M", 
        "MM", 
        "MMM", 
        "MMMM", 
// Day
        "%d", 
        "dd", 
        "ddd", 
        "dddd",
// Era
        "%g",  
        "gg",  
// Hour
        "%h", 
        "hh", 
        "%H", 
        "HH", 
// Minute
        "%m", 
        "mm", 
// Second
        "%s", 
        "ss", 
// Fraction of a second
        "%f", 
        "ff", 
        "fff", 
        "ffff", 
        "fffff", 
        "ffffff", 
        "fffffff", 
        "%F", 
        "FF", 
        "FFF", 
        "FFFF", 
        "FFFFF", 
        "FFFFFF", 
        "FFFFFFF", 
// A.M./P.M. designator
        "%t", 
        "tt", 
// UTC offset
        "%z", 
        "zz", 
        "zzz", 
// Quoted string (apostrophe)
        "'The year is' yyyy", 
// Quoted string (quotation mark)
        "\"The year is\" yyyy",
// Escape character
        "\\\\", 
        };
//
     Console::Clear();
     Console::WriteLine("The culture is {0}.", ci->DisplayName);
     Console::WriteLine(msgDTctor);
     Console::WriteLine("{0,20} {1}", "Custom format string", "Yields");
     Console::WriteLine("{0,20} {1}", "--------------------", "------");
     for each (String^ format in specifiers)
         {
         formatString = "\"" + format + "\"";
         Console::WriteLine("{0,20} \"{1}\"", 
                            formatString, thisDate->ToString(format));
         }

     Console::WriteLine();
     Console::WriteLine();

// Example of using "K" format specifier.
     Console::WriteLine("Format different kinds of DateTime using \"K\"");
     Console::WriteLine("{0, 20} {1}", "DateTimeKind", "Yields");
     Console::WriteLine("{0,20} {1}", "------------", "------");
     Console::WriteLine("{0,20} \"{1}\"",  thisDate->Kind,  thisDate->ToString("%K"));
     Console::WriteLine("{0,20} \"{1}\"",   utcDate->Kind,   utcDate->ToString("%K"));
     Console::WriteLine("{0,20} \"{1}\"", localDate->Kind, localDate->ToString("%K"));
     
    }



/*
This code example produces the following results:

The culture is Invariant Language (Invariant Country).
The DateTime constructor for January 3, 0001 A.D., 02:09:20.444 P.M. is
    DateTime(0001, 1, 3, 14, 9, 20, 444)

Custom format string Yields
-------------------- ------
                "%y" "1"
                "yy" "01"
               "yyy" "001"
              "yyyy" "0001"
             "yyyyy" "00001"
                "%M" "1"
                "MM" "01"
               "MMM" "Jan"
              "MMMM" "January"
                "%d" "3"
                "dd" "03"
               "ddd" "Wed"
              "dddd" "Wednesday"
                "%g" "A.D."
                "gg" "A.D."
                "%h" "2"
                "hh" "02"
                "%H" "14"
                "HH" "14"
                "%m" "9"
                "mm" "09"
                "%s" "20"
                "ss" "20"
                "%f" "4"
                "ff" "44"
               "fff" "444"
              "ffff" "4440"
             "fffff" "44400"
            "ffffff" "444000"
           "fffffff" "4440000"
                "%F" "4"
                "FF" "44"
               "FFF" "444"
              "FFFF" "444"
             "FFFFF" "444"
            "FFFFFF" "444"
           "FFFFFFF" "444"
                "%t" "P"
                "tt" "PM"
                "%z" "-8"
                "zz" "-08"
               "zzz" "-08:00"
"'The year is' yyyy" "The year is 0001"
""The year is" yyyy" "The year is 0001"
                "\\" "\"


Format different kinds of DateTime using "K"
        DateTimeKind Yields
        ------------ ------
         Unspecified ""
                 Utc "Z"
               Local "-08:00"
*/

Siehe auch

Referenz

System.DateTime
System.IFormatProvider

Konzepte

Beispiele für die Ausgabe benutzerdefinierter DateTime-Formatzeichenfolgen
DateTime-Standardformatzeichenfolgen

Weitere Ressourcen

Formatierung von Typen