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
}

@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");

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.


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;

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);
}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.