减去时间跨度和 Return 小时和分钟到小数

Subtract Timespan and Return Hour and Minute to Decimal

大家好,

我正在尝试将某个时间减去宽限期,并且 return 它是十进制的小时和分钟格式。

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

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

但是我不知道该怎么办。

有什么帮助吗?

1小时30分钟不是1.5吗? Timespan 已经有了你要找的东西

loggedIn.Subtract(gracePeriod).TotalHours;

不确定为什么要以这种格式输出,但根据您的要求,这应该可行。

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