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

C# 如何显示时间跨度超过24小时的小时和分钟,c#,formatting,timespan,C#,Formatting,Timespan,例如,我的时间跨度是: Timespan span = new Timespan(40,24,34); 我有这条线 FormClock.Text = TimeToInstall.ToString(@"hh\:mm\:ss"); 我想在文本中显示如下内容: 40:24:34 如何做到这一点?看,标准的.ToString()格式是无法做到的。 时间跨度的属性似乎是您从几天到几小时所需要的 从MSDN: 时间跨度间隔=新的时间跨度(1,15,42,45,750); WriteLine(“TimeS

例如,我的时间跨度是:

Timespan span = new Timespan(40,24,34);
我有这条线

FormClock.Text = TimeToInstall.ToString(@"hh\:mm\:ss");
我想在文本中显示如下内容:

40:24:34

如何做到这一点?

看,标准的.ToString()格式是无法做到的。 时间跨度的属性似乎是您从几天到几小时所需要的

从MSDN:

时间跨度间隔=新的时间跨度(1,15,42,45,750); WriteLine(“TimeSpan的值:{0}”,interval)

因此,在你的情况下:

FormClock.Text = string.Format("{0}:{1}:{2}". TimeToInstall.Days * 24 + TimeToInstall.Hours, TimeToInstall.Minutes, TimeToInstall.Seconds); 
如果您打算大量使用它,您可以考虑将其转换为某种扩展方法。

看,您不能使用标准的.ToString()格式。 时间跨度的属性似乎是您从几天到几小时所需要的

从MSDN:

时间跨度间隔=新的时间跨度(1,15,42,45,750); WriteLine(“TimeSpan的值:{0}”,interval)

因此,在你的情况下:

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

如果你打算大量使用它,你可以考虑将它转换成某种扩展方法。

可能重复:可能重复:我不敢相信,所以感谢你提供了链接;-)在我的例子中(mm:ss),我不得不为整分钟添加另一个术语。。。对于TimeSpan类来说有点失望:-)这是迄今为止我遇到的最聪明的解决方案,我简直不敢相信,所以感谢您包含链接;-)在我的例子中(mm:ss),我不得不为整分钟添加另一个术语。。。对于TimeSpan类来说有点失望:-)这是迄今为止我遇到的最聪明的解决方案