【问题标题】:How to display Hours and Minutes from timespan with more than 24 hours如何显示超过 24 小时的时间跨度的小时和分钟
【发布时间】:2016-10-02 21:41:52
【问题描述】:

我的时间跨度例如:

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

我有这条线

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

我想在文本中这样显示:

40:24:34

如何做到这一点?

【问题讨论】:

标签: c# formatting timespan


【解决方案1】:

查看MSDN,您无法使用标准的 .ToString() 格式进行操作。 时间跨度的 TotalHours 属性似乎是您需要从几天到几小时得到的。

来自 MSDN:

TimeSpan 间隔 = 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); 

如果您要经常使用它,您可以考虑将其滚动到某种扩展方法中。

【讨论】:

  • 我简直不敢相信,所以感谢您提供链接 ;-) 就我而言 (mm:ss),我不得不在整个几分钟内添加另一个术语... TimeSpan 类 :-)
  • 这是迄今为止我遇到的最聪明的解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-16
  • 2015-04-10
  • 1970-01-01
  • 2019-08-05
  • 2011-05-08
相关资源
最近更新 更多