我正从数据库中检索两个日期时间值 . 一旦检索到值,我需要两个值之间的差异 . 为此,我创建了一个时间 Span 变量来存储2个日期值的差异 .
TimeSpan? variable = datevalue1 - datevalue2;
现在我需要以小时数的形式显示存储在Timespan变量中的差异 . 我提到TimeSpan.TotalHours但由于某种原因无法应用相同的内容 . 我怎么做?我在MVC项目上使用C# . 我只需要以小时显示差异值?
EDIT: Since timespan was nullable, i couldn't use the total hours property. Now I can use it by doing TimeSpanVal.Value.TotalHours ;
7 回答
我认为你're confused because you haven'宣布
TimeSpan
你宣布TimeSpan?
这是nullableTimeSpan
. 如果您不需要它可以为空,请删除问号或使用variable.Value.TotalHours
.你可能也想看看
在示例中,我们创建了两个日期时间对象,一个具有当前时间,另一个具有75秒添加到当前时间 . 然后我们将在第二个DateTime对象上调用方法.Subtract() . 这将返回TimeSpan对象 . 获得TimeSpan对象后,我们可以使用TimeSpan的属性来获取实际的小时,分钟和秒 .
结果:
你有没有理由使用
Nullable
?如果你想使用
Nullable
那么你可以写variable.Value.TotalHours
.或者你可以写:
(datevalue1 - datevalue2).TotalHours
.这是在C#中减去两个日期的另一个例子......
a more precise way for employee paid hours or other precision requirement: :
https://dotnetfiddle.net/tVIoVJ
如果我们比较两个不同的日期,也可以添加日期之间的差异