如何从超过24小时的时间跨度显示小时和分钟

时间:2016-10-02 21:41:52

标签: c# formatting timespan

我的时间跨度是例如:

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

我有这条线

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

我想在文本中显示这个:

40:24:34

怎么做?

1 个答案:

答案 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); 

如果它是你要经常使用的东西,你可以考虑将其用于某种扩展方法。