2016-10-02 111 views
0

我的時間跨度是例如顯示從時間跨度小時和分鐘:如何使用超過24小時

Timespan span = new Timespan(40,24,34); 

我有這條線

FormClock.Text = TimeToInstall.ToString(@"hh\:mm\:ss"); 

我想在喜歡的文本顯示此這個:

40:24:34

如何做到這一點?

+1

可能的重複:http://stackoverflow.com/questions/3505230/format-timespan-greater-than-24-hour – Abion47

回答

2

看着MSDN,你不能用標準的.ToString()格式來做到這一點。 時間的TotalHours財產似乎是你需要從幾天到幾小時。

從MSDN:

時間跨度間隔=新時間跨度(1,15,42,45,750); Console.WriteLine(「TimeSpan的值:{0}」,interval);

Console.WriteLine("{0:N5} hours, as follows:", interval.TotalHours); 
    Console.WriteLine(" Hours:  {0,3}", 
        interval.Days * 24 + interval.Hours); 
    Console.WriteLine(" Minutes:  {0,3}", interval.Minutes); 
    Console.WriteLine(" Seconds:  {0,3}", interval.Seconds); 
    Console.WriteLine(" Milliseconds: {0,3}", interval.Milliseconds); 

所以你的情況:

FormClock.Text = string.Format("{0}:{1}:{2}". TimeToInstall.Days * 24 + TimeToInstall.Hours, TimeToInstall.Minutes, TimeToInstall.Seconds); 

如果它的東西,你要使用大量的你可以看看它滾成某種擴展方法。

+0

我簡直不敢相信,所以感謝包括鏈接;-)在我的情況下( mm:ss),我不得不在整個分鐘中添加另一個術語......對於TimeSpan類來說,小小的失望:-) –