所以我有这个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
}
答案 0 :(得分:224)
您可以使用以下代码获得所需的结果。 HH
中的两个'H'是24小时格式。
return fechaHora.Value.ToString("HH:mm");
答案 1 :(得分:122)
date.ToString("HH:mm:ss"); // for 24hr format
date.ToString("hh:mm:ss"); // for 12hr format, it shows AM/PM
请参阅DateTime中其他格式化程序的this链接。
答案 2 :(得分:12)
使用ToString("HH:mm")
肯定会为您提供字符串所需的内容。
如果您希望当前小时/分钟为数字,则不需要字符串操作;您可以使用TimeOfDay
属性:
TimeSpan timeOfDay = fechaHora.TimeOfDay;
int hour = timeOfDay.Hours;
int minute = timeOfDay.Minutes;
答案 3 :(得分:4)
试试这个:
//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);
}
答案 4 :(得分:0)
Try this, if your input is string
For example
string input= "13:01";
string[] arry = input.Split(':');
string timeinput = arry[0] + arry[1];
private string Convert24To12HourInEnglish(string timeinput)
{
DateTime startTime = new DateTime(2018, 1, 1, int.Parse(timeinput.Substring(0, 2)),
int.Parse(timeinput.Substring(2, 2)), 0);
return startTime.ToString("hh:mm tt");
}
out put: 01:01