Час от DateTime?в 24-часовом формате - PullRequest
135 голосов
/ 11 июня 2010

Так у меня есть этот 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
    }

Ответы [ 4 ]

225 голосов
/ 11 июня 2010

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

return fechaHora.Value.ToString("HH:mm");
122 голосов
/ 11 июня 2010
date.ToString("HH:mm:ss"); // for 24hr format
date.ToString("hh:mm:ss"); // for 12hr format, it shows AM/PM

См. эту ссылку для других форматеров в DateTime.

13 голосов
/ 11 июня 2010

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

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

TimeSpan timeOfDay = fechaHora.TimeOfDay;
int hour = timeOfDay.Hours;
int minute = timeOfDay.Minutes;
4 голосов
/ 11 июня 2010

Попробуйте это:

//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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...