2016-10-02 105 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类来说,小小的失望:-) –

相关问题