减去时间跨度并返回小时和分钟以十进制

时间:2019-02-26 09:28:08

标签: c# .net-core timespan

大家好,

我正在尝试将宽限期减去一定的时间,并将其返回为十进制小时和分钟格式。

到目前为止,这是我的代码:

var hourAndMinute = 0.00M;

var gracePeriod = new TimeSpan(9,30,00);

var loggedIn = new TimeSpan(11,00,00); // dynamic data

hourAndMinute = loggedIn.Subtract(gracePeriod).Minutes;

但是我得到了不同的结果。

我是怎么回事,

1.30M = 1 hours and 30 minutes

但是我不知道该怎么办。

请帮忙吗?

2 个答案:

答案 0 :(得分:1)

1小时30分钟不是1.5吗?而且Timespan已经有了您想要的东西

loggedIn.Subtract(gracePeriod).TotalHours;

答案 1 :(得分:1)

不确定为什么要以这种格式输出,但是对于您的要求,它应该可以工作。

hourAndMinute = (decimal)loggedIn.Subtract(gracePeriod).Hours + (decimal)loggedIn.Subtract(gracePeriod).Minutes/100;