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
}
euther
quelle
@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");
vtortola
quelle
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.

Manish Basantani
quelle
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;
Dan Tao
quelle
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);
}
Mike Dinescu
quelle