War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
Exportieren (0) Drucken
Alle erweitern
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

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 DateTime-Standardformatzeichenfolgen handelt, werden als benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit interpretiert.

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

Tipp Tipp

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

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


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 Example
{
   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.


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 Formatbezeichner "d".

6/1/2009 1:45:30 PM -> 1

6/15/2009 13:45:30 AM -> 15

"dd"

Der Tag des Monats, von 01 bis 31.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "dd".

6/1/2009 1:45:30 PM -> 01

6/15/2009 13:45:30 AM -> 15

"ddd"

Der abgekürzte Name des Tags der Woche.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "ddd".

15.06.2009 13:45:30 -> Mo. (de-DE)

15.06.2009 13:45:30 -> Пн (ru-RU)

15.06.2009 13:45:30-> lun. (fr-FR)

"dddd"

Der vollständige Name des Wochentags.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "dddd".

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

6/15/2009 1:45:30 PM -> понедельник (ru-RU)

6/15/2009 1:45:30 PM -> lundi (fr-FR)

"f"

Die Zehntelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "f".

6/15/2009 13:45:30.617 -> 6

6/15/2009 13:45:30.050 -> 0

"ff"

Die Hundertstelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "ff".

6/15/2009 13:45:30.617 -> 61

6/15/2009 13:45:30.005 -> 00

"fff"

Die Millisekunden in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "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 Formatbezeichner "ffff".

6/15/2009 13:45:30.6175 -> 6175

6/15/2009 13:45:30.00005 -> 0000

"fffff"

Die Hunderttausendstelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "fffff".

6/15/2009 13:45:30.61754 -> 61754

6/15/2009 13:45:30.000005 -> 00000

"ffffff"

Die Millionstelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "ffffff".

6/15/2009 13:45:30.617542 -> 617542

6/15/2009 13:45:30.0000005 -> 000000

"fffffff"

Die Zehnmillionstelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "fffffff".

6/15/2009 13:45:30.6175425 -> 6175425

6/15/2009 13:45:30.0001150 -> 0001150

"F"

Wenn ungleich 0 (null), die Zehntelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "F".

6/15/2009 13:45:30.617 -> 6

6/15/2009 13:45:300,050 -> (keine Ausgabe)

"FF"

Wenn ungleich 0 (null), die Hundertstelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "FF".

6/15/2009 13:45:30.617 -> 61

6/15/2009 13:45:300,005 -> (keine Ausgabe)

"FFF"

Wenn ungleich 0 (null), die Millisekunden in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "FFF".

6/15/2009 13:45:30.617 -> 617

6/15/2009 13:45:300,0005 -> (keine Ausgabe)

"FFFF"

Wenn ungleich 0 (null), die Zehntausendstelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "FFFF".

6/1/2009 13:45:30.5275 -> 5275

6/15/2009 13:45:300,00005 -> (keine Ausgabe)

"FFFFF"

Wenn ungleich 0 (null), die Hunderttausendstelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "FFFFF".

6/15/2009 13:45:30.61754 -> 61754

6/15/2009 13:45:300,000005 -> (keine Ausgabe)

"FFFFFF"

Wenn ungleich 0 (null), die Millionstelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "FFFFFFF".

6/15/2009 13:45:30.617542 -> 617542

6/15/2009 13:45:30.0000005 -> (keine Ausgabe)

"FFFFFFF"

Wenn ungleich 0 (null), die Zehnmillionstelsekunde in einem Datums- und Uhrzeitwert.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "FFFFFFF".

6/15/2009 13:45:30.6175425 -> 6175425

6/15/2009 13:45:30.0001150 -> 000115

"g", "gg"

Der Zeitraum.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "g" oder "gg".

6/15/2009 1:45:30 PM -> A.D.

"h"

Die Stunde, von 1 bis 12 (12-Stunden-Format).

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "h".

6/15/2009 1:45:30 AM -> 1

6/15/2009 13:45:30 AM -> 1

"hh"

Die Stunde, von 01 bis 12 (12-Stunden-Format).

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "hh".

6/15/2009 1:45:30 AM -> 01

6/15/2009 1:45:30 PM -> 01

"H"

Die Stunde, von 0 bis 24 (23-Stunden-Format).

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "H".

6/15/2009 1:45:30 AM -> 1

6/15/2009 13:45:30 AM -> 13

"HH"

Die Stunde, von 00 bis 23 (24-Stunden-Format).

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "HH".

6/15/2009 1:45:30 AM -> 01

6/15/2009 13:45:30 AM -> 13

"K"

Zeitzoneninformationen.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "K".

Mit DateTime-Werten:

6/15/2009 1:45:30 PM, Art nicht angegeben ->

6/15/2009 1:45:30 PM, UTC-Zeitzone -> Z

6/15/2009 1:45:30 PM, Lokale Zeitzone -> -07:00 (hängt von den lokalen Computereinstellungen ab)

Mit DateTimeOffset-Werten:

6/15/2009 1:45:30 AM -07:00 --> -07:00

6/15/2009 8:45:30 AM +00:00 --> +00:00

"m"

Die Minute, von 0 bis 59.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "m".

6/15/2009 01:09:30 AM -> 9

6/15/2009 13:09:30 AM -> 9

"mm"

Die Minute, von 00 bis 59.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "mm".

6/15/2009 1:09:30 AM -> 09

6/15/2009 13:09:30 AM -> 09

"M"

Der Monat, von 1 bis 12.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "M".

6/15/2009 13:45:30 AM -> 6

"MM"

Der Monat, von 01 bis 12.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "MM".

6/15/2009 1:45:30 PM -> 06

"MMM"

Der abgekürzte Name des Monats.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "MMM".

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

6/15/2009 1:45:30 PM -> juin (fr-FR)

6/15/2009 1:45:30 PM -> Jun (zu-ZA)

"MMMM"

Der vollständige Name des Monats.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "MMMM".

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

6/15/2009 1:45:30 PM -> juni (da-DK)

6/15/2009 1:45:30 PM -> uJuni (zu-ZA)

"s"

Die Sekunde, von 0 bis 59.

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

6/15/2009 13:45:09 AM -> 9

"ss"

Die Sekunde, von 00 bis 59.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "ss".

6/15/2009 13:45:09 AM -> 09

"t"

Das erste Zeichen des AM/PM-Kennzeichners.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "t".

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

6/15/2009 1:45:30 PM -> 午 (ja-JP)

6/15/2009 1:45:30 PM -> (fr-FR)

"tt"

Der AM/PM-Kennzeichner.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "tt".

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

6/15/2009 1:45:30 PM -> 午後 (ja-JP)

6/15/2009 1:45:30 PM -> (fr-FR)

"y"

Das Jahr, von 0 bis 99.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "y".

1/1/0001 12:00:00 AM -> 1

1/1/0900 12:00:00 AM -> 0

1/1/1900 12:00:00 AM -> 0

6/15/2009 13:45:30 AM -> 9

6/15/2009 12:00:00 AM -> 19

"yy"

Das Jahr, von 00 bis 99.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "yy".

1/1/0001 12:00:00 AM -> 01

1/1/0900 12:00:00 AM -> 00

1/1/1900 12:00:00 AM -> 00

6/15/2019 1:45:30 PM -> 09

"yyy"

Das Jahr, mit einem Minimum von drei Ziffern.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "yyy".

1/1/0001 12:00:00 AM -> 001

1/1/0900 12:00:00 AM -> 900

1/1/1900 12:00:00 AM -> 1900

6/15/2009 13:45:30 AM -> 2009

"yyyy"

Das Jahr als vierstellige Zahl.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "yyyy".

1/1/0001 12:00:00 AM -> 0001

1/1/0900 12:00:00 AM -> 0900

1/1/1900 12:00:00 AM -> 1900

6/15/2009 13:45:30 AM -> 2009

"yyyyy"

Das Jahr als fünfstellige Zahl.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "yyyyy".

1/1/0001 12:00:00 AM -> 00001

6/15/2009 1:45:30 PM -> 02009

"z"

Offset von UTC in Stunden, ohne führende Nullen.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "z".

6/15/2009 1:45:30 PM -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".

6/15/2009 1:45:30 PM -07:00 -> -07

"zzz"

Offset von UTC in Stunden und Minuten.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "zzz".

6/15/2009 1:45:30 PM -07:00 -> -07:00

":"

Das Zeittrennzeichen.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner ":".

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

6/15/2009 1:45:30 PM -> . (it-IT)

6/15/2009 1:45:30 PM -> : (ja-JP)

"/"

Das Datumstrennzeichen.

Weitere Informationen finden Sie unter Der benutzerdefinierte Formatbezeichner "/".

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

6/15/2009 1:45:30 PM -> - (ar-DZ)

6/15/2009 1:45:30 PM -> . (tr-TR)

"string"

'string'

Trennzeichen für Literalzeichenfolge.

6/15/2009 1:45:30 PM ("arr:" h:m t) -> arr: 1:45 P

6/15/2009 1:45:30 PM ('arr:' h:m t) -> arr: 1:45 P

%

Definiert das nächste Zeichen als benutzerdefinierten Formatbezeichner.

Weitere Informationen finden Sie unter Verwenden von einzelnen benutzerdefinierten Formatbezeichnern.

6/15/2009 1:45:30 PM (%h) -> 1

\

Das Escapezeichen.

6/15/2009 1:45:30 PM (h \h) -> 1 h

Jedes andere Zeichen

Das Zeichen wird unverändert in die Ergebniszeichenfolge kopiert.

Weitere Informationen finden Sie unter Verwenden des Escapezeichens.

6/15/2009 1:45:30 AM (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.

Der benutzerdefinierte Formatbezeichner "d" stellt den Tag des Monats als Zahl zwischen 1 und 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 Thema.

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                                                


Zurück zur Tabelle

Die benutzerdefinierte Formatzeichenfolge "dd" stellt den Tag des Monats als Zahl zwischen 01 und 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


Zurück zur Tabelle

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                                                


Zurück zur Tabelle

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                                


Zurück zur Tabelle

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

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


Zurück zur Tabelle

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


Zurück zur Tabelle

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


Zurück zur Tabelle

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 Zeitwerts 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" 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 Zeitwerts 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" 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 Zeitwerts 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 "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 Zeitwerts 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 "F" stellt die signifikanteste Ziffer des Sekundenbruchteils dar, d. h. die Zehntelsekunden in einem Datums- und Uhrzeitwert. Es wird nichts angezeigt, wenn die Ziffer 0 (null) ist.

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

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


Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner "FF" stellt die zwei signifikantesten Ziffern des Sekundenbruchteils dar, d. h. die Hundertstelsekunden in einem Datums- und Uhrzeitwert. Nachfolgende Nullen (0) oder zwei 0-Ziffern werden jedoch nicht angezeigt.

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


Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner "FFF" stellt die drei signifikantesten Ziffern des Sekundenbruchteils dar, d. h. die Millisekunden in einem Datums- und Uhrzeitwert. Nachfolgende Nullen (0) oder drei 0-Ziffern werden jedoch 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


Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner "FFFF" stellt die vier signifikantesten Ziffern des Sekundenbruchteils dar, d. h. die Zehntausendstelsekunden in einem Datums- und Uhrzeitwert. Nachfolgende Nullen (0) oder vier 0-Ziffern werden jedoch nicht angezeigt.

Auch wenn es möglich ist, die Zehntausendstelsekundenkomponente eines Zeitwerts 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" stellt die fünf signifikantesten Ziffern des Sekundenbruchteils dar, d. h. die Hunderttausendstelsekunden in einem Datums- und Uhrzeitwert. Nachfolgende Nullen (0) oder fünf 0-Ziffern werden jedoch nicht angezeigt.

Auch wenn es möglich ist, die Hunderttausendstelsekundenkomponente eines Zeitwerts 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" stellt die sechs signifikantesten Ziffern des Sekundenbruchteils dar, d. h. die Millionstelsekunden in einem Datums- und Uhrzeitwert. Nachfolgende Nullen (0) oder sechs 0-Ziffern werden jedoch nicht angezeigt.

Auch wenn es möglich ist, die Millionstelsekundenkomponente eines Zeitwerts 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 "FFFFFFF" stellt die sieben signifikantesten Ziffern des Sekundenbruchteils dar, d. h. die Zehnmillionstelsekunden in einem Datums- und Uhrzeitwert. Nachfolgende Nullen (0) oder sieben 0-Ziffern werden jedoch nicht angezeigt.

Auch wenn es möglich ist, die Zehnmillionstelsekundenkomponente eines Zeitwerts 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

Die benutzerdefinierten Formatbezeichner "g" oder "gg (plus einer beliebigen Anzahl zusätzlicher g-Bezeichner)" stellen die Periode oder den Zeitraum dar, z. B. A.D. Dieser Bezeichner wird durch die Formatierung ignoriert, wenn dem zu formatierenden Datum keine Zeichenfolge für die Periode oder den Zeitraum zugeordnet ist.

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

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.


Zurück zur Tabelle

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 ganzen 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 Thema.

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 µ


Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner "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. 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.


Zurück zur Tabelle

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

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              


Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner "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.

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                        


Zurück zur Tabelle

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) ist dieser Bezeichner gleich dem Bezeichner "zzz" und erzeugt eine Ergebniszeichenfolge, die den lokalen Offset 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 "zz" 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 Thema.

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                        


Zurück zur Tabelle

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

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 µ


Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner "mm" (plus einer beliebigem 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.


Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner "M" stellt den Monat als Zahl von 1 bis 12 dar (oder von 1 bis 13 für Kalender 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 Thema.

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                       


Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner "MM" stellt den Monat als Zahl von 01 bis 12 dar (oder von 1 bis 13 für Kalender 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


Zurück zur Tabelle

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.

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                                                


Zurück zur Tabelle

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.

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                                


Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner "s" stellt die Sekunden 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 Thema.

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 µ


Zurück zur Tabelle

Der benutzerdefinierte Formatbezeichner "ss" (plus einer beliebigem Anzahl zusätzlicher s-Bezeichner) stellt die Minute 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.


Zurück zur Tabelle

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

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 µ


Zurück zur Tabelle

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.


Zurück zur Tabelle

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

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      


Zurück zur Tabelle

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


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      


Zurück zur Tabelle

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


Zurück zur Tabelle

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


Zurück zur Tabelle

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      


Zurück zur Tabelle

Mit DateTime-Werten stellt der benutzerdefinierte Formatbezeichner "z" den signierten Offset der Zeitzone des lokalen Betriebssystems von der koordinierten Weltzeit (Coordinated Universal Time, UTC) dar, gemessen in Stunden. Reflektiert nicht den Wert der DateTime.Kind-Eigenschaft einer Instanz. Aus diesem Grund wird der z-Formatbezeichner nicht zur Verwendung mit DateTime-Werten empfohlen.

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

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 ohne eine führende Null formatiert.

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

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                     

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


Zurück zur Tabelle

Mit DateTime-Werten stellt der benutzerdefinierte Formatbezeichner "zz" den signierten Offset der Zeitzone des lokalen Betriebssystems von der koordinierten Weltzeit (Coordinated Universal Time, UTC) dar, gemessen in Stunden. Reflektiert nicht den Wert der DateTime.Kind-Eigenschaft einer Instanz. Aus diesem Grund wird der zz-Formatbezeichner nicht zur Verwendung mit DateTime-Werten empfohlen.

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

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.

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                     

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


Zurück zur Tabelle

Mit DateTime-Werten stellt der benutzerdefinierte Formatbezeichner "zzz" den signierten Offset der Zeitzone des lokalen Betriebssystems von der koordinierten Weltzeit (Coordinated Universal Time, UTC) dar, gemessen in Stunden und Minuten. Reflektiert nicht den Wert der DateTime.Kind-Eigenschaft einer Instanz. Aus diesem Grund wird der zzz-Formatbezeichner nicht zur Verwendung mit DateTime-Werten empfohlen.

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

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.

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                     

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


Zurück zur Tabelle

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

Zurück zur Tabelle

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

Zurück zur Tabelle

8kb3ddd4.collapse_all(de-de,VS.110).gifVerwenden 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 h-Standardformatbezeichner 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 '


8kb3ddd4.collapse_all(de-de,VS.110).gifVerwenden 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 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      


8kb3ddd4.collapse_all(de-de,VS.110).gifEinstellungen 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 Threadkultur zugeordnet ist. Sie stellt Werte zur Steuerung der Formatierung bereit. Auf Computern mit anderen Einstellungen werden andere Ergebniszeichenfolgen generiert.

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

8kb3ddd4.collapse_all(de-de,VS.110).gifDateTimeFormatInfo-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.

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.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft