Godzina od daty i godziny? w formacie 24-godzinnym

157

Więc mam ten DateTime? i chcę uzyskać godzinę, ale pokazać ją w formacie 24-godzinnym.
Na przykład:
Jeśli godzina to 14:20:23, chcę przekonwertować ją na 14:20 i to wszystko.

Pracuję z Visual C #. Wszelkie pomysły, dziękuję.

Mam coś takiego

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

    string retornar = "";
    //here goes what i need
}
euther
źródło
@OrelEraki mówisz poważnie? To pytanie zostało wysłane wcześniej o dwa lata. Przynajmniej sprawdź fakty, zanim zadzwonisz do duplikatu.
Archibald
Nie ma potrzeby wychodzenia, to było w 2014 roku. Usunięto to.
Orel Eraki
4
„hh” małymi literami oznacza zapis am / pm, „HH” oznacza zapis 24-godzinny
Antoine Meltzheim

Odpowiedzi:

275

Możesz uzyskać pożądany wynik za pomocą poniższego kodu. Dwie „H” HHma format 24-godzinny.

return fechaHora.Value.ToString("HH:mm");
vtortola
źródło
8
Opis, dlaczego to działa, byłby przydatny. Na przykład GG dla formatu 24-godzinnego, np. GG dla 12 godzin.
Luke Alderton
139
date.ToString("HH:mm:ss"); // for 24hr format
date.ToString("hh:mm:ss"); // for 12hr format, it shows AM/PM

Skorzystaj z tego linku dla innych elementów formatujących w DateTime.

Manish Basantani
źródło
19

Używanie z ToString("HH:mm")pewnością daje ci to, czego chcesz jako ciąg .

Jeśli chcesz, aby bieżąca godzina / minuty była liczbami , operowanie na łańcuchach nie jest konieczne; możesz korzystać z TimeOfDaynieruchomości:

TimeSpan timeOfDay = fechaHora.TimeOfDay;
int hour = timeOfDay.Hours;
int minute = timeOfDay.Minutes;
Dan Tao
źródło
Podoba mi się ta metoda, ponieważ daje mi wartości całkowite do obliczeń.
Hao Nguyen,
To było dla mnie preferowane rozwiązanie, ponieważ potrzebowałem tylko int z godziny dnia. O wiele łatwiejsze niż konwersja do ciągu tylko po to, aby ponownie przeanalizować datę i godzinę.
Siedem
6

Spróbuj tego:

//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
źródło