我一直在和这个愚蠢的转发器摔跤。我可以使用<%#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}") %>
......没有任何变化。
答案 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);