我的asp.net mvc Web应用程序中有以下代码,其中StartDate的类型为DateTime?
: -
@item.StartDate.Value.TimeOfDay
以上将显示当前时间,包括秒和毫秒,例如,我不想要的: -
10:17:54.6023744
但有没有办法只显示小时:分钟与上午或下午? 感谢
答案 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)