2014-08-28 71 views
1

我已經編碼的方式來顯示在VB.NET Framework 4.0中時間跨度它看起來像這樣:VB.Net格式化時間跨度與.net Framework 2.0的

Me.lbl_StatsOverTimeSince.Text = TimeSpan.FromSeconds(My.Settings.stats_OverTimeSince).ToString("d\d\ h\h\ m\m\ s\s") 

現在我的問題是,我想這個轉換應用程序到2.0,它是唯一不工作。

我已經看到了這個主題:Formatting TimeSpans

我試圖與建議的思路調整:

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,而不是新的時間跨度工作( ),因爲它顯示999.23:59:59,無論FromSeconds值是多少。

有什麼解決方法嗎?

在此先感謝。

+0

實際問題是.Net 2.0不支持時間間隔格式。 – SLaks 2014-08-28 02:51:53

回答

2

與使用FromSeconds無關。 A TimeSpanTimeSpan,無論它是如何創建的。

僅在.NET 4.0中添加了TimeSpan.ToString的重載。您在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) 
+0

不錯的一個!感謝您的快速回答!我需要這個來發布我的新版本的應用程序。^_ ^ – Senerio 2014-08-28 03:24:00