Час от 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
}
euther
источник
@OrelEraki ты серьезно? Этот вопрос был опубликован до этого один на два года. По крайней мере, проверьте свои факты, прежде чем называть дубликат.
Арчибальд
Нет необходимости выходить из программы, это было в 2014 году. Удалено.
Орёл Эраки
4
«hh» в нижнем регистре для обозначения am / pm, «HH» для обозначения 24h
Antoine Meltzheim

Ответы:

275

Вы можете получить желаемый результат с помощью кода ниже. Two'H 'в HH24-часовом формате.

return fechaHora.Value.ToString("HH:mm");
vtortola
источник
8
Описание того, почему это работает, было бы полезно. Например, ЧЧ для 24-часового формата, а ЧЧ для 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;
Дэн Тао
источник
Мне нравится этот метод, потому что он дает мне целочисленные значения для расчета.
Хао Нгуен
Это было предпочтительным решением для меня, потому что мне просто нужно было 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);
}
Майк Динеску
источник