如果其中一个日期在数据库中可以为空,如何计算两个日期之间的天数?

时间:2018-10-19 19:29:46

标签: c# datetime if-statement

我有两个约会:FromDateToDate。两者之中,ToDatenullable。但是,对于ToDate不为null的情况,我需要计算FromDateToDate之间的天数。

我有以下代码:

if(ToDate != null)
{
    var days = (ToDate - FromDate).TotalDays();
}

但是,这样做后,出现以下错误:

  

“时间跨度”?没有包含TotalDays的定义,找不到扩展类型TotalDays的扩展方法TimeSpan?(您是否缺少用户指令或程序集引用?'

我了解为什么会收到此错误。我想知道一种解决方法,以便可以计算出ToDateFromDate之间的天数。

1 个答案:

答案 0 :(得分:2)

if(ToDate.HasValue)
{
    var days = (ToDate.Value - FromDate).TotalDays();
}

此代码应该起作用。 您的问题是TimeSpan?没有扩展方法TotalDaysTimeSpan有扩展方法。因此,您只需要获取不可为空的值作为差异即可。

Msdn link