Heure de DateTime? au format 24 heures

157

Alors j'ai ce DateTime? et ce que je veux faire, c'est obtenir l'heure mais l'afficher au format 24 heures.
Par exemple:
si l'heure est 14:20:23, je veux la convertir en 14:20 et c'est tout.

Je travaille avec Visual C #. Toutes les idées s'il vous plaît, merci.

J'ai quelque chose comme ça

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

    string retornar = "";
    //here goes what i need
}
Ether
la source
@OrelEraki êtes-vous sérieux? Cette question a été postée avant cela un par deux ans. Vérifiez au moins vos faits avant d'appeler en double.
Archibald le
Il n'est pas nécessaire de quitter, c'était en 2014. Supprimé.
Orel Eraki
4
"hh" en minuscules est pour la notation am / pm, "HH" est pour la notation 24h
Antoine Meltzheim

Réponses:

275

Vous pouvez obtenir le résultat souhaité avec le code ci-dessous. Two'H 'in HHest pour le format 24 heures.

return fechaHora.Value.ToString("HH:mm");
vtortola
la source
8
Description des raisons pour lesquelles cela fonctionne serait utile. Tels que HH pour le format 24 heures comme hh pendant 12 heures.
Luke Alderton
139
date.ToString("HH:mm:ss"); // for 24hr format
date.ToString("hh:mm:ss"); // for 12hr format, it shows AM/PM

Reportez - vous à ce lien pour d'autres formateurs dans DateTime.

Manish Basantani
la source
19

L'utilisation ToString("HH:mm")vous donne certainement ce que vous voulez sous forme de chaîne .

Si vous voulez que les heures / minutes actuelles soient des nombres , la manipulation des chaînes n'est pas nécessaire; vous pouvez utiliser la TimeOfDaypropriété:

TimeSpan timeOfDay = fechaHora.TimeOfDay;
int hour = timeOfDay.Hours;
int minute = timeOfDay.Minutes;
Dan Tao
la source
J'aime cette méthode car elle me donne des valeurs entières pour le calcul.
Hao Nguyen le
C'était la solution préférée pour moi parce que j'avais juste besoin de l'int de l'heure de la journée. Beaucoup plus facile que de convertir en une chaîne juste pour analyser à nouveau dans un DateTime.
Sev
6

Essaye ça:

//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
la source