Час от DateTime? в 24-часовом формате


157

Так у меня есть этот DateTime? и что я хочу сделать, это получить час, но показать его в формате 24 часа.
Например:
если час 2: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 'в HH24-часовом формате.

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

8
Описание того, почему это работает, было бы полезно. Например, ЧЧ для 24-часового формата, а ЧЧ для 12-часового.
Люк Олдертон


19

Использование, ToString("HH:mm")безусловно, дает вам то, что вы хотите в качестве строки .

Если вы хотите текущий час / минуту в виде чисел , манипуляции со строками не нужны; Вы можете использовать TimeOfDayсвойство:

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

Мне нравится этот метод, потому что он дает мне целочисленные значения для расчета.
Хао Нгуен

Это было предпочтительным решением для меня, потому что мне просто нужно было int от часа дня. Гораздо проще, чем преобразовать в строку, просто чтобы снова разобрать в DateTime.
Sev

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.