3 Stimmen

Formatierungsproblem Datum mit DateTime

Ich möchte ein Datum mit diesem Format anzeigen :

  • MM/dd/yyyy HH:mm:ss tt

zum Beispiel :

  • 01/04/2011 03:34:03 PM

aber ich habe ein Problem mit dem folgenden Code

class Program
{
    static void Main(string[] args)
    {
        DateTime dt = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 0, 0, 0);
        string displayedDate = dt.ToString("MM/dd/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);
        Console.WriteLine(displayedDate);
        Console.Read();
    }
}

zeigt :

01/04/2011 12:00:00 AM

anstatt von

01/04/2011 00:00:00 AM

Weiß jemand warum ?

Vielen Dank !

12voto

Cody Gray Punkte 229889

Weil Sie das 12-Stunden-Uhrformat anstelle des 24-Stunden-Formats angegeben haben.

In der Dokumentation für die DateTime.ToString-Methode finden Sie eine vollständige Tabelle von Formatspezifikatoren und deren Bedeutung. Die Auswahlmöglichkeiten für die Stunde sind wie folgt:

"h" Die Stunde im 12-Stunden-Uhrformat von 1 bis 12. "hh" Die Stunde im 12-Stunden-Uhrformat von 01 bis 12. "H" Die Stunde im 24-Stunden-Uhrformat von 0 bis 23. "HH" Die Stunde im 24-Stunden-Uhrformat von 00 bis 23.

Also müssen Sie anstelle des hh benutzerdefinierten Formatspezifikators HH verwenden. Ändern Sie diese Zeile:

string displayedDate = dt.ToString("MM/dd/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);

zu diesem:

string displayedDate = dt.ToString("MM/dd/yyyy HH:mm:ss tt", CultureInfo.InvariantCulture);

1voto

alexn Punkte 55397

Sie haben angegeben, dass Sie ein 12-Stunden-Format statt eines 24-Stunden-Formats wünschen, deshalb. Sie sollten HH für 24 Stunden verwenden. Bitte sehen Sie sich die Referenz an. Dies sollte für Sie funktionieren:

string displayedDate = dt.ToString("MM/dd/yyyy HH:mm:ss tt", CultureInfo.InvariantCulture);

0voto

AndyM84 Punkte 139

Sie möchten 'hh' in Ihrem ToString() Aufruf zu 'H' ändern.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X