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.