使用.Net Framework 2.0的VB.Net格式时间跨度
我编写了一种在VB.NET Framework 4.0中显示时间跨度的方法,如下所示:使用.Net Framework 2.0的VB.Net格式时间跨度,vb.net,string,frameworks,format,timespan,Vb.net,String,Frameworks,Format,Timespan,我编写了一种在VB.NET Framework 4.0中显示时间跨度的方法,如下所示: Me.lbl_StatsOverTimeSince.Text = TimeSpan.FromSeconds(My.Settings.stats_OverTimeSince).ToString("d\d\ h\h\ m\m\ s\s") 现在我的问题是,我尝试将此应用程序转换为2.0,但这是唯一不起作用的东西 我看过这条线: 我试着用建议的想法进行调整: Dim ts As TimeSpan = TimeSp
Me.lbl_StatsOverTimeSince.Text = TimeSpan.FromSeconds(My.Settings.stats_OverTimeSince).ToString("d\d\ h\h\ m\m\ s\s")
现在我的问题是,我尝试将此应用程序转换为2.0,但这是唯一不起作用的东西
我看过这条线:
我试着用建议的想法进行调整:
Dim ts As TimeSpan = TimeSpan.FromSeconds(My.Settings.stats_OverTimeSince)
Me.lbl_StatsOverTimeSince.Text = String.Format("{0:d\\d\\ h\\h\\ m\\m\ s\\s}", ts)
我认为问题在于我使用的是TimeSpan.FromSeconds而不是New TimeSpan(),因为它显示999.23:59:59,无论FromSeconds值是什么
有什么解决办法吗
提前感谢。这与从秒开始使用
无关。TimeSpan
是一个TimeSpan
,无论它是如何创建的
TimeSpan.ToString
的重载只在.NET4.0中添加。您对String.Format
的使用仍然依赖于TimeSpan.ToString
内部。您必须自己设置格式:
Dim time = TimeSpan.FromSeconds(My.Settings.stats_OverTimeSince)
Me.lbl_StatsOverTimeSince.Text = String.Format("{0}d {1}h {2}m {3}s", time.Days, time.Hours, time.Minutes, time.Seconds)
实际问题是.NET2.0不支持timespan格式。很好!谢谢你的快速回答!我需要它来发布新版本的应用程序^_^