Година від DateTime? у форматі 24 години


157

Отже, у мене є цей DateTime? і що я хочу зробити, це отримати годину, але показати її у форматі 24 години.
Наприклад:
Якщо година 14:20:23, я хочу перетворити її на 14:20, і це все.

Я працюю з Visual C #. Будь-які ідеї, будь ласка, дякую.

У мене є щось подібне

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

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

@OrelEraki ти серйозно? Це питання було розміщено раніше, ніж два роки. Принаймні перевірте свої факти, перш ніж викликати дублікат.
Арчібальд

Немає потреби виходити, це було у 2014 році.
Орел Еракі

4
"hh" в нижньому регістрі - для позначення am / pm, "HH" - для позначення 24h
Antoine Meltzheim

Відповіді:


275

Ви можете отримати бажаний результат за допомогою наведеного нижче коду. Two'H 'in HHпризначений для цілодобового формату.

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

8
Опис того, чому це буде корисно. Такі як HH для цілодобового формату як hh протягом 12 годин.
Люк Олдертон

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

Перейдіть за цим посиланням для інших форматів у DateTime.


19

Використання, ToString("HH:mm")безумовно, дає вам те, що ви хочете як рядок .

Якщо ви хочете, щоб поточна година / хвилина була цифрою , маніпулювання рядками не потрібно; Ви можете скористатися TimeOfDayмайном:

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

Мені подобається цей метод, оскільки він дає мені цілі значення для обчислення.
Хао Нгуен

Це було кращим рішенням для мене, тому що мені просто потрібна була інформація з години дня. Набагато простіше, ніж перетворити на рядок, просто знову проаналізувати в DateTime.
Сев

6

Спробуйте це:

//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);
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.