格式化TimeSpan字符串

3
在我的代码中有这样一段内容:
gvRankings.DataSource = rankings.OrderBy(rg => rg.Swimtime).Take(100).ToArray();  
gvRankings.DataBind();  

(这里的Swimtime是一个TimeSpan)

在前台我有:

< asp:TemplateField HeaderText="Tijd" ItemStyle-CssClass="time" HeaderStyle-CssClass="smallheader">
< ItemTemplate><%# ("Swimtime")%>< /ItemTemplate>
< /asp:TemplateField>

我想将游泳时间的格式设置为 hh:mm:dd.ff,但是尝试了2个小时之后,我仍然不知道该怎么做......

2
@Squall:C#.Net。请检查标签。 - mellamokb
2个回答

4

您可以通过使用Ticks属性来创建一个DateTime并按照您想要的格式进行格式化:

string formatedTime = new DateTime(swimTime.Ticks).ToString("hh:mm:dd.ff");

4

string.Format("{0:hh\\:mm\\:dd\\.ff}", yourTimeSpan)

翻译为:使用字符串格式化函数,将时间间隔yourTimeSpan格式化为hh:mm:dd.ff的形式。


谢谢。但是,在我的情况下,'yourTimeSpan' 应该是什么? 在代码后面它是 Swimtime,但我如何在前端调用它? 我知道我在这里缺少一些知识,正在学习 :) - Martin de Wildt
数组中的一行看起来像:{ AthleteId = 1734, FirstName = "Jan", MiddleName = null, LastName = "Jansen", BirthYear = 1993, NationId = "NED", Club = "Kring Rotterdam", Swimtime = {00:00:53.6500000}, Date = {12-2-2011 0:00:00}, City = "Dordrecht" ... },我想获取Swimtime :) - Martin de Wildt
2
用以下代码使其正常工作: <%# string.Format("{0:mm\:ss\.ff}", DataBinder.Eval(Container.DataItem, "Swimtime"))%> 如果有更简洁的方法,请告诉我,但这个方法确实有效。 - Martin de Wildt
谢谢!我已经使用它来显示秒数了。string.Format("Paused at {0}", string.Format("{0:hh\\:mm\\:ss}", pausePosition)); - NoWar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接