Ora da DateTime? nel formato 24 ore


157

Quindi ho questo DateTime? e quello che voglio fare è ottenere l'ora ma mostrarla nel formato 24 ore.
Ad esempio:
se l'ora è 2:20:23 pm voglio convertirla in 14:20 e basta.

Sto lavorando con Visual C #. Qualche idea per favore, grazie.

Ho qualcosa del genere

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

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

@OrelEraki sei serio? Questa domanda è stata pubblicata prima di quella di due anni. Almeno controlla i tuoi fatti prima di chiamare il duplicato.
Archibald,

Non è necessario uscire, era il 2014. Rimosso.
Orel Eraki,

4
"hh" in minuscolo è per notazione am / pm, "HH" è per notazione 24h
Antoine Meltzheim

Risposte:


275

Puoi ottenere il risultato desiderato con il codice qui sotto. Two'H ' HHè per il formato 24 ore.

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

8
Descrizione del perché questo funziona sarebbe utile. Come HH per il formato 24 ore come hh per 12 ore.
Luke Alderton,

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

Fare riferimento a questo collegamento per altri formattatori in DateTime.


19

L'uso ToString("HH:mm")certamente ti dà ciò che vuoi come stringa .

Se si desidera l'ora / i minuti correnti come numeri , la manipolazione delle stringhe non è necessaria; puoi usare la TimeOfDayproprietà:

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

Mi piace questo metodo perché mi dà valori interi per il calcolo.
Hao Nguyen,

Questa è stata la soluzione preferita per me perché avevo solo bisogno dell'int da ora del giorno. Molto più semplice quindi convertire in una stringa solo per analizzare nuovamente in un DateTime.
Sev

6

Prova questo:

//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);
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.