Таким образом, у меня есть этот DateTime? и то, что я хочу сделать, должно получить час, но показать его в формате 24 часов.
Например:
Если час является 14:20:23, я хочу преобразовать его в 14:20 и вот именно.
Я работаю с Визуальным C#. Любые идеи, спасибо.
У меня есть что-то вроде этого
public static string FormatearHoraA24(DateTime? fechaHora)
{
if (!fechaHora.HasValue)
return "";
string retornar = "";
//here goes what i need
}
Вы можете получить желаемый результат с помощью приведенного ниже кода. Два символа "Н" в ЧЧ
соответствуют 24-часовому формату.
return fechaHora.Value.ToString("HH:mm");
date.ToString("HH:mm:ss"); // for 24hr format
date.ToString("hh:mm:ss"); // for 12hr format, it shows AM/PM
Обратитесь к по этой ссылке, чтобы узнать о других средствах форматирования в DateTime.
Попробуйте так:
//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);
}
Использование ToString ("HH: mm")
определенно дает то, что вы хотите, в виде строки .
Если вы хотите, чтобы текущий час / минута был представлен в виде чисел , манипуляции со строками не требуются; вы можете использовать свойство TimeOfDay
:
TimeSpan timeOfDay = fechaHora.TimeOfDay;
int hour = timeOfDay.Hours;
int minute = timeOfDay.Minutes;