没有秒和毫秒的TimeOfDay

时间:2013-12-04 13:10:53

标签: c# asp.net-mvc razor

我的asp.net mvc Web应用程序中有以下代码,其中StartDate的类型为DateTime?: -

@item.StartDate.Value.TimeOfDay

以上将显示当前时间,包括秒和毫秒,例如,我不想要的: -

10:17:54.6023744

但有没有办法只显示小时:分钟与上午或下午? 感谢

6 个答案:

答案 0 :(得分:14)

DateTime超载ToString(),可让您传递custom format

DateTime dt = DateTime.Now;
String strDate="";
strDate = dt.ToString("MM/dd/yyyy");   // 07/21/2007 
strDate = dt.ToString("dddd, dd MMMM yyyy");   //Saturday, 21 July 2007
strDate = dt.ToString("dddd, dd MMMM yyyy HH:mm"); // Saturday, 21 July 2007 14:58
strDate = dt.ToString("dddd, dd MMMM yyyy hh:mm tt"); // Saturday, 21 July 2007 03:00 PM
strDate = dt.ToString("dddd, dd MMMM yyyy H:mm"); // Saturday, 21 July 2007 5:01 
strDate = dt.ToString("dddd, dd MMMM yyyy h:mm tt"); // Saturday, 21 July 2007 3:03 PM
strDate = dt.ToString("dddd, dd MMMM yyyy HH:mm:ss"); // Saturday, 21 July 2007 15:04:10
strDate = dt.ToString("MM/dd/yyyy HH:mm"); // 07/21/2007 15:05
strDate = dt.ToString("MM/dd/yyyy hh:mm tt"); // 07/21/2007 03:06 PM
strDate = dt.ToString("MM/dd/yyyy H:mm"); // 07/21/2007 15:07
strDate = dt.ToString("MM/dd/yyyy h:mm tt"); // 07/21/2007 3:07 PM
strDate = dt.ToString("MM/dd/yyyy HH:mm:ss"); // 07/21/2007 15:09:29
strDate = dt.ToString("MMMM dd"); // July 21
strDate = dt.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK"); // 2007-07-21T15:11:19.1250000+05:30    
strDate = dt.ToString("ddd, dd MMM yyyy HH':'mm':'ss 'GMT'"); // Sat, 21 Jul 2007 15:12:16 GMT
strDate = dt.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss"); // 2007-07-21T15:12:57
strDate = dt.ToString("HH:mm"); // 15:14
strDate = dt.ToString("hh:mm tt"); // 03:14 PM
strDate = dt.ToString("H:mm"); // 5:15
strDate = dt.ToString("h:mm tt"); // 3:16 PM
strDate = dt.ToString("HH:mm:ss"); // 15:16:29
strDate = dt.ToString("yyyy'-'MM'-'dd HH':'mm':'ss'Z'"); // 2007-07-21 15:17:20Z
strDate = dt.ToString("dddd, dd MMMM yyyy HH:mm:ss"); // Saturday, 21 July 2007 15:17:58
strDate = dt.ToString("yyyy MMMM"); // 2007 July

答案 1 :(得分:5)

这将为你做到:

@item.StartDate.Value.TimeOfDay.ToString("HH:mm tt");

答案 2 :(得分:2)

使用ToString(string)重载并指定格式:

StartDate.Value.TimeOfDay.ToString("hh:mm tt")

这与

相同
StartDate.Value.ToString("hh:mm tt")

答案 3 :(得分:2)

我认为你正在寻找这个:

StartDate.Value.TimeOfDay.ToString("hh:mm tt")

答案 4 :(得分:1)

如果您使用的是.NET 4或更高版本,则可以在转换为字符串时指定格式字符串:

@item.StartDate.Value.TimeOfDay.ToString("hh mm tt")

但为什么不在不提取TimeOfDay的情况下正确格式化日期/时间呢?这也适用于早期版本的.NET:

@item.StartDate.Value.ToString("hh mm tt")

答案 5 :(得分:-1)

您是否尝试过DateTime.Date

理想情况下,这将是

@item.StartDate.Value.Date

编辑:

我没有正确阅读问题,请查看DateTime.ToString(string)