Zeichenfolgenformat für DateTime in C#

Zeichenfolgenformat für DateTime in C#

In diesem Artikel erfahren Sie, wie Sie DateTime mit der String-Formatmethode in C# formatieren. Zur Formatierung von DateTime , haben wir den String.Format() verwendet Methode des String Klasse.

Hinweis: Die gesamte DateTime-Formatierung kann mit DateTime.ToString() erfolgen Methode.Hinweis: Benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit können sowohl mit DateTime verwendet werden und DateTimeOffset Werte.

Benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit

Die folgende Tabelle beschreibt die benutzerdefinierten Formatbezeichner für Datum und Uhrzeit und zeigt eine Ergebniszeichenfolge an, die von jedem Formatbezeichner erzeugt wird. Standardmäßig spiegeln Ergebniszeichenfolgen die Formatierungskonventionen von en-US wider Kultur.

Formatbezeichner Beschreibung
"d" Der Tag des Monats, von 1 bis 31.
"dd" Der Tag des Monats, von 01 bis 31.
"ddd" Der abgekürzte Name des Wochentags.
"dddd" Der vollständige Name des Wochentags.
"f" Die Zehntelsekunden in einem Datums- und Zeitwert.
"ff" Die Hundertstelsekunden in einem Datums- und Zeitwert.
"fff" Die Millisekunden in einem Datums- und Zeitwert.
"ffff" Die Zehntausendstelsekunde in einem Datums- und Zeitwert.
"fffff" Die Hunderttausendstelsekunde in einem Datums- und Zeitwert.
"ffffff" Die Millionstel einer Sekunde in einem Datums- und Zeitwert.
"fffffff" Die Zehnmillionstel einer Sekunde in einem Datums- und Zeitwert.
"F" Wenn nicht Null, die Zehntelsekunde in einem Datums- und Uhrzeitwert.
"FF" Wenn nicht Null, die Hundertstelsekunden in einem Datums- und Zeitwert.
"FFF" Wenn nicht Null, die Millisekunden in einem Datums- und Zeitwert.
"FFFF" Wenn nicht Null, die Zehntausendstelsekunde in einem Datums- und Zeitwert.
"FFFFF" Wenn nicht Null, die Hunderttausendstelsekunde in einem Datums- und Zeitwert.
"FFFFFF" Wenn nicht Null, die Millionstel einer Sekunde in einem Datums- und Zeitwert.
"FFFFFFF" Wenn nicht Null, die Zehnmillionstelsekunde in einem Datums- und Zeitwert.
"g", "gg" Die Periode oder Ära.
"h" Die Stunde unter Verwendung einer 12-Stunden-Uhr von 1 bis 12.
"hh" Die Stunde, unter Verwendung einer 12-Stunden-Uhr von 01 bis 12.
"H" Die Stunde im 24-Stunden-Format von 0 bis 23.
"HH" Die Stunde im 24-Stunden-Format von 00 bis 23.
"K" Zeitzoneninformationen.
"m" Die Minute, von 0 bis 59.
"mm" Die Minute, von 00 bis 59.
"M" Der Monat von 1 bis 12.
"MM" Der Monat von 01 bis 12.
"MMM" Der abgekürzte Name des Monats.
"MMMM" Der vollständige Name des Monats.
"s" Die zweite, von 0 bis 59.
"ss" Die zweite, von 00 bis 59.
"t" Das erste Zeichen der AM/PM-Bezeichnung.
"tt" Die AM/PM-Bezeichnung.
"y" Das Jahr von 0 bis 99.
"yy" Das Jahr, von 00 bis 99.
"yyy" Das Jahr mit mindestens drei Ziffern.
"yyyy" Das Jahr als vierstellige Zahl.
"yyyyy" Das Jahr als fünfstellige Zahl.
"z" Stunden-Offset von UTC, ohne führende Nullen.
"zz" Stunden-Offset von UTC, mit einer führenden Null für einen einstelligen Wert.
"zzz" Stunden- und Minutenversatz von UTC.
":" Das Zeittrennzeichen.
"/" Das Datumstrennzeichen.

"Zeichenfolge "

'Zeichenfolge '
Wörtliches String-Trennzeichen.
% Definiert das folgende Zeichen als benutzerdefinierten Formatbezeichner.
\ Das Escape-Zeichen.
Jedes andere Zeichen Das Zeichen wird unverändert in den Ergebnisstring kopiert

Hier ist das Beispiel für ein benutzerdefiniertes Datetime-Format mit String.Format() Methode in C#.

Beispiel 1:Benutzerdefiniertes Formatieren von Datum und Uhrzeit mit der Methode String.Format()
using System;

namespace Tutorialsrack
{
    class Program
    {
        /* How to Format DateTime Using String.Format() Method in C# */
        static void Main(string[] args)
        {
            // create date time 2006-05-08 21:05:07.123
            DateTime date = new DateTime(2006, 05, 08, 21, 5, 7, 123);

            Console.WriteLine(String.Format("{0:y yy yyy yyyy}", date));
            // Output ==> "6 06 006 2006"   year

            Console.WriteLine(String.Format("{0:M MM MMM MMMM}", date));
            // Output ==> "5 05 May May"  month

            Console.WriteLine(String.Format("{0:d dd ddd dddd}", date));
            // Output ==> "8 08 Mon Monday" day

            Console.WriteLine(String.Format("{0:h hh H HH}", date));
            // Output ==> "9 09 21 21"      hour 12/24

            Console.WriteLine(String.Format("{0:m mm}", date));
            // Output ==> "5 05"            minute

            Console.WriteLine(String.Format("{0:s ss}", date));
            // Output ==> "7 07"            second

            Console.WriteLine(String.Format("{0:f ff fff ffff}", date));
            // Output ==> "1 12 123 1230"   sec.fraction

            Console.WriteLine(String.Format("{0:F FF FFF FFFF}", date));
            // Output ==> "1 12 123 123"    without zeroes

            Console.WriteLine(String.Format("{0:t tt}", date));
            //Output ==> "P PM"            A.M. or P.M.

            Console.WriteLine(String.Format("{0:z zz zzz}", date));
            // Output ==> "+5 +05 +05:30"   time zone

            //Hit ENTER to exit the program
            Console.ReadKey();
        }
    }
}

Sie können auch das Datumstrennzeichen Schrägstrich (/) verwenden Operator- und Zeittrennzeichen Doppelpunkt (:) Operator in ein benutzerdefiniertes DateTime-Format mit String.Format() .

Hier ist das Beispiel für Datum und Uhrzeit mit benutzerdefiniertem Format mit Trennzeichen.

Beispiel 2:Benutzerdefinierte Formatierung von Datum und Uhrzeit
Console.WriteLine(String.Format("{0:dd/MM/yyyy hh:mm:ss tt}", date));
// Output ==> "08-05-2006 09:05:07 PM" - english (en-US)

// Date Separator in Turkish culture is "." 
// So Replace "/" with "." to print Turkish Date
Console.WriteLine(String.Format("{0:dd.MM.yyyy hh:mm:ss tt}", date));
// Output ==> "08.05.2006 09:05:07 PM" - Turkish (tr-TR)

Hier sind einige Beispiele für die benutzerdefinierte Formatierung von Datum und Uhrzeit mit String.Format() Methode.

Beispiel 3:Benutzerdefinierte Formatierung von Datum und Uhrzeit
            // Examples of Custom Date Time Formatting

            Console.WriteLine(String.Format("{0:dd/MM/yyyy hh:mm:ss tt}", date));
            // Output ==> "08-05-2006 09:05:07 PM"

            Console.WriteLine(String.Format("{0:MM/dd/yyyy hh:mm:ss tt}", date));
            // Output ==> "05-08-2006 09:05:07 PM"

            Console.WriteLine(String.Format("{0:MM/dd/yy hh:mm:ss tt}", date));
            // Output ==> "05-08-06 09:05:07 PM"

            Console.WriteLine(String.Format("{0:dd.MM.yyyy}", date));
            // Output ==> "08.05.2006"

            Console.WriteLine(String.Format("{0:d/M/yy hh:mm:ss tt}", date));
            // Output ==> "8-5-06 09:05:07 PM"

            Console.WriteLine(String.Format("{0:ddd, MMM dd, yyyy hh:mm:ss tt}", date));
            // Output ==> "Mon, May 08, 2006 09:05:07 PM"

            Console.WriteLine(String.Format("{0:dddd, MMM dd, yyyy hh:mm:ss tt}", date));
            // Output ==> "Monday, May 08, 2006 09:05:07 PM"

            Console.WriteLine(String.Format("{0:MMM dd, yyyy hh:mm:ss tt}", date));
            // Output ==> "May 08, 2006 09:05:07 PM"

            Console.WriteLine(String.Format("{0:dd-MMM-yyyy hh:mm:ss tt}", date));
            // Output ==> "08-May-2006 09:05:07 PM"

            Console.WriteLine(String.Format("{0:dd/MMM/yyyy}", date));
            // Output ==> "08-May-2006"

Standard-DateTime-Formatierung

Eine standardmäßige Formatzeichenfolge für Datum und Uhrzeit verwendet einen einzelnen Formatbezeichner, um die Textdarstellung eines Datums- und Uhrzeitwerts zu definieren.

Hinweis: Sowohl mit DateTime als auch mit DateTime können standardmäßige Formatzeichenfolgen für Datum und Uhrzeit verwendet werden und DateTimeOffset Werte.

In der folgenden Tabelle werden die standardmäßigen Formatbezeichner für Datum und Uhrzeit und ihre Werte für en-US beschrieben Kultur. Die erste Spalte enthält Formatbezeichner für String.Format() Methode.

# Formatspezifizierer Beschreibung Musterwerte
1 "d" Kurzes Datumsmuster. M/d/yyyy
2 "D" Muster für langes Datum. dddd, MMMM dd, yyyy
3 "f" Vollständiges Datums-/Zeitmuster (kurze Zeit). dddd, MMMM dd, yyyy h:mm tt
4 "F" Vollständiges Datums-/Zeitmuster (lange Zeit). dddd, MMMM dd, yyyy h:mm:ss tt
5 "g" Allgemeines Datums-/Zeitmuster (Kurzzeit). M/d/yyyy h:mm tt
6 "G" Allgemeines Datums-/Zeitmuster (lange Zeit). M/d/yyyy h:mm:ss tt
7 "M", "m" Monat/Tag-Muster. MMMM dd
8 "O", "o" Round-Trip-Datum/Uhrzeit-Muster.

Datum/Uhrzeit-Werte:

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

DateTimeOffset-Werte:

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

9 "R", "r" RFC1123-Muster. ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (*)
10 "s" Sortierbares Datums-/Zeitmuster. yyyy'-'MM'-'dd'T'HH':'mm':'ss (*)
11 "t" Kurzzeitmuster. h:mm tt
12 "T" Langzeitmuster. h:mm:ss tt
13 "u" Universelles sortierbares Datums-/Zeitmuster.

jjjj'-'MM'-'tt HH':'mm':'ss'Z' (*)

(*) =kulturunabhängig

14 "U" Universelles vollständiges Datums-/Zeitmuster.

dddd, MMMM dd, yyyy HH:mm:ss

15 "Y", "y" Jahr-Monat-Muster.

MMMM, jjjj

Jedes andere einzelne Zeichen Unbekannter Spezifizierer.

Löst eine FormatException zur Laufzeit aus.

Hier sind einige Beispiele für die Standardformatierung von Datum und Uhrzeit mit String.Format() Methode.

Beispiel 4:Standardformatierung von Datum und Uhrzeit mit der Methode "infgString.Format()"
using System;

namespace Tutorialsrack
{
    class Program
    {
        /* How to Format DateTime Using String.Format() Method in C# */
        static void Main(string[] args)
        {
            // create date time 2020-05-08 21:05:07.123
            DateTime date = new DateTime(2020, 05, 08, 21, 5, 7, 123);
            
            Console.WriteLine(String.Format("{0:t}", date));
            // Output ==> "9:05 PM"                        ShortTime

            Console.WriteLine(String.Format("{0:d}", date));
            // Output ==> "5/8/2020"                       ShortDate

            Console.WriteLine(String.Format("{0:T}", date));
            // Output ==> "9:05:07 PM"                     LongTime

            Console.WriteLine(String.Format("{0:D}", date));
            // Output ==> "Friday, May 8, 2020"            LongDate
            Console.WriteLine(String.Format("{0:f}", date));
            // Output ==> "Friday, May 8, 2020 9:05 PM"    LongDate+ShortTime

            Console.WriteLine(String.Format("{0:F}", date));
            // Output ==> "Friday, May 8, 2020 9:05:07 PM" FullDateTime

            Console.WriteLine(String.Format("{0:g}", date));
            // Output ==> "5/8/2020 9:05 PM"               ShortDate+ShortTime

            Console.WriteLine(String.Format("{0:G}", date));
            // Output ==> "5/8/2020 9:05:07 PM"            ShortDate+LongTime

            Console.WriteLine(String.Format("{0:m}", date));
            // Output ==> "May 8"                          MonthDay

            Console.WriteLine(String.Format("{0:y}", date));
            // Output ==> "May 2020"                       YearMonth

            Console.WriteLine(String.Format("{0:r}", date));
            // Output ==> "Fri, 08 May 2020 21:05:07 GMT"   RFC1123

            Console.WriteLine(String.Format("{0:o}", date));
            // Output ==> "2020-05-08T21:05:07.1230000"     Round-trip date/time 

            Console.WriteLine(String.Format("{0:s}", date));
            // Output ==> "2020-05-08T21:05:07"             SortableDateTime

            Console.WriteLine(String.Format("{0:u}", date));
            // Output ==> "2020-05-08 21:05:07Z"            UniversalSortableDateTime

            //Hit ENTER to exit the program
            Console.ReadKey();
        }
    }
}

Ich hoffe, dieser Artikel hilft Ihnen zu verstehen, wie Sie Datum und Uhrzeit benutzerdefiniertes Format erstellen und So formatieren Sie Datum und Uhrzeit im Standardformat für Datum und Uhrzeit mit String.Format() Methode in C#

Teilen Sie Ihr wertvolles Feedback, bitte posten Sie Ihren Kommentar am Ende dieses Artikels. Vielen Dank!