Stunde ab DateTime? im 24 Stunden Format


157

Also habe ich diese DateTime? und was ich tun möchte, ist, die Stunde zu erhalten, aber sie im 24-Stunden-Format anzuzeigen.
Zum Beispiel:
Wenn die Stunde 2:20:23 Uhr ist, möchte ich sie in 14:20 konvertieren und das wars.

Ich arbeite mit Visual C #. Irgendwelche Ideen bitte, danke.

Ich habe so etwas

public static string FormatearHoraA24(DateTime? fechaHora)
{
    if (!fechaHora.HasValue)
        return "";

    string retornar = "";
    //here goes what i need
}

@OrelEraki meinst du das ernst? Diese Frage wurde vor diesem einen von zwei Jahren gestellt. Überprüfen Sie zumindest Ihre Fakten, bevor Sie das Duplikat aufrufen.
Archibald

Es besteht keine Notwendigkeit, verlassen zu werden, es war im Jahr 2014. Entfernt.
Orel Eraki

4
"hh" in Kleinbuchstaben steht für die Notation am / pm, "HH" für die
24-Stunden-

Antworten:


275

Sie können das gewünschte Ergebnis mit dem folgenden Code erhalten. Two'H 'in HHist für das 24-Stunden-Format.

return fechaHora.Value.ToString("HH:mm");

8
Beschreibung, warum dies funktioniert, wäre nützlich. Wie HH für 24 Stunden Format als hh für 12 Stunden.
Luke Alderton

139
date.ToString("HH:mm:ss"); // for 24hr format
date.ToString("hh:mm:ss"); // for 12hr format, it shows AM/PM

Unter diesem Link finden Sie weitere Formatierer in DateTime.


19

Die Verwendung ToString("HH:mm")gibt Ihnen sicherlich das, was Sie als Zeichenfolge wollen .

Wenn Sie die aktuelle Stunde / Minute als Zahlen verwenden möchten , ist eine Zeichenfolgenmanipulation nicht erforderlich. Sie können die TimeOfDayEigenschaft verwenden:

TimeSpan timeOfDay = fechaHora.TimeOfDay;
int hour = timeOfDay.Hours;
int minute = timeOfDay.Minutes;

Ich mag diese Methode, weil sie mir ganzzahlige Werte für die Berechnung gibt.
Hao Nguyen

Dies war die bevorzugte Lösung für mich, da ich nur die int von der Stunde des Tages brauchte. Viel einfacher als das Konvertieren in eine Zeichenfolge, um sie wieder in eine DateTime zu analysieren.
Sev

6

Versuche dies:

//String.Format("{0:HH:mm}", dt);  // where dt is a DateTime variable

public static string FormatearHoraA24(DateTime? fechaHora)
{
    if (!fechaHora.HasValue)
        return "";

    return retornar = String.Format("{0:HH:mm}", (DateTime)fechaHora);
}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.