如何显示超过 24 小时的时间跨度的小时和分钟
How to display Hours and Minutes from timespan with more than 24 hours
例如我的时间跨度是:
Timespan span = new Timespan(40,24,34);
我有这条线
FormClock.Text = TimeToInstall.ToString(@"hh\:mm\:ss");
我想在文本中这样显示:
40:24:34
如何操作?
查看 MSDN,您不能使用标准的 .ToString() 格式来完成。
TotalHours 属性 的时间跨度似乎是你需要从几天到几小时的时间。
来自 MSDN:
TimeSpan interval = new TimeSpan(1, 15, 42, 45, 750);
Console.WriteLine("Value of 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);
如果您要经常使用它,您可以考虑将其整合到某种扩展方法中。
例如我的时间跨度是:
Timespan span = new Timespan(40,24,34);
我有这条线
FormClock.Text = TimeToInstall.ToString(@"hh\:mm\:ss");
我想在文本中这样显示:
40:24:34
如何操作?
查看 MSDN,您不能使用标准的 .ToString() 格式来完成。 TotalHours 属性 的时间跨度似乎是你需要从几天到几小时的时间。
来自 MSDN:
TimeSpan interval = new TimeSpan(1, 15, 42, 45, 750); Console.WriteLine("Value of 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);
如果您要经常使用它,您可以考虑将其整合到某种扩展方法中。