ASP.NET时间没有正确格式化

时间:2012-03-20 08:44:19

标签: asp.net time format

我一直在和这个愚蠢的转发器摔跤。我可以使用<%#Eval("Start Date", "{0:MMM dd, yyyy}") %>正确格式化日期,但使用 <#Eval("Start Time", "{0:t}") %> 正在制作合适的时间。无论我使用什么样的格式,它仍然以军事时间格式的“hh:mm:ss”出现。

我尝试将全局设置硬编码到web.config文件中。我已尝试过互联网提供的每种格式符号组合,但无论我做什么,它仍然会出现“15:45:00”

我怎么能得到这个愚蠢的事情吐出“下午3:45”而不是“15:45:00”!?我的智慧结束了。

我试过了: <%# Eval("Start Time")%>
<%# Eval("Start Time", {0:t}") %>
<%# Eval("Start Time", {0:T}") %>
<%# DataBinder.Eval(Container.DataItem, "End Time", "{0:t}") %>
<%# DataBinder.Eval(Container.DataItem, "End Time", "{0:T}") %>
......没有任何变化。

2 个答案:

答案 0 :(得分:7)

要以hh:mm样式格式化TimeSpan, Bind 需要非转义格式, Eval 需要转义格式。

Text='<%# Bind("start_time","{0:h\:mm tt}") %>'
and
Text='<%# Eval("start_time",@"{0:h\:mm tt}") %>'

Here我写了更多关于这种行为的文章。

答案 1 :(得分:0)

试试这个:

String.Format("{0:h\:mm tt}", Container.DataItem);