TimeSpan仅显示小时数?

时间:2015-12-05 18:34:13

标签: c# timespan

我的MVC应用程序中存在此问题。

我有TimeSpan,例如2天15小时31分34秒。

我想只显示小时/分钟/秒,而事实是我想将日期添加到63:31:34这样的小时。我试图添加一个新的时间范围 time.Add(new TimeSpan(time.Days * 24, 0, 0),但.NET会像2天那样添加。

你能帮我解决我的问题吗?

3 个答案:

答案 0 :(得分:1)

Hours property不能是BroadcastReceiver,因为它的范围是63-23。您只能使用TimeSpan properties将此23作为文字表示。

63:31:34

打印;

var ts = new TimeSpan(2, 15, 31, 34);
Console.WriteLine("{0}:{1}:{2}", (int)ts.TotalHours, ts.Minutes, ts.Seconds);

由于Jeppe mentioned - 不在你的情况下 - 63:31:34 部分可以限制双精度,因为它基于实例计算为ts.TotalHours。在这种情况下,使用(double)_ticks * HoursPerTick可以更好地生成ts.Ticks / TimeSpan.TicksPerHour操作。

答案 1 :(得分:1)

添加到Jeppes注意,避免 double 的方法可能是积极使用日期计数:

var tagCell = collectionView.dequeueReusableCellWithReuseIdentifier("tagCell", forIndexPath: indexPath) as! TagCell

答案 2 :(得分:0)

添加天数后,使用TimeSpan.TotalHours显示时间:

例如:

TimeSpan interval = new TimeSpan(1, 15, 42, 45, 750); 
Console.WriteLine("{0}:{1}:{2}", interval.TotalHours, interval.Minutes, interval.Seconds);