我的时间跨度是例如:
Timespan span = new Timespan(40,24,34);
我有这条线
FormClock.Text = TimeToInstall.ToString(@"hh\:mm\:ss");
我想在文本中显示这个:
40:24:34
怎么做?
答案 0 :(得分:4)
查看MSDN,您无法使用标准的.ToString()格式。 时间跨度的TotalHours属性似乎是您需要从几天到几小时得到的。
来自MSDN:
TimeSpan interval = new TimeSpan(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);
如果它是你要经常使用的东西,你可以考虑将其用于某种扩展方法。