从日期时间小时? 在24小时格式

所以我有这个日期时间?我想做的是获得一个小时,但显示它在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
}
347786 次浏览

试试这个:

//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);
}

你可以用下面的代码得到想要的结果。 HH中的两个“ H”是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 中的其他格式化程序,请参考 这个链接。

使用 ToString("HH:mm")当然可以得到您想要的 绳子

如果希望将当前小时/分钟作为 数字,则字符串操作是不必要的; 您可以使用 TimeOfDay属性:

TimeSpan timeOfDay = fechaHora.TimeOfDay;
int hour = timeOfDay.Hours;
int minute = timeOfDay.Minutes;
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