C#:如何查找两个可为空的日期时间之间的天差?

时间:2019-06-21 15:26:33

标签: c# datetime

here上发布了一个类似的问题,关于计算两个日期时间的天数差异,但是我的两个日期时间都可以为空,这使我无法按照该问题的建议使用“ TotalDays”。 >

DateTime? startDate;
DateTime? endDate;

return(d1-d2).TotalDays;  //This won't work

有什么解决方法吗?

谢谢

2 个答案:

答案 0 :(得分:1)

您可以这样做:

if (startDate.HasValue && endDate.HasValue)
{
    return (startDate.Value - endDate.Value).TotalDays;
}
else
{
    // handle one or more dates being null
}

答案 1 :(得分:0)

如果该值为null,将抛出异常,

为防止这种情况,只需添加一个“?”像这样:

 [2019-06-21 14:39:38,639] {{logging_mixin.py:95}} INFO - [2019-06-21
 14:39:38,630] {{discovery.py:873}} INFO - URL being requested: POST
 https://www.googleapis.com/bigquery/v2/projects/big-data/jobs?alt=json
 [2019-06-21 14:39:39,525] {{logging_mixin.py:95}} INFO - [2019-06-21
 14:39:39,525] {{discovery.py:873}} INFO - URL being requested: GET
 https://www.googleapis.com/bigquery/v2/projects/big-data/jobs/job_zyDDpy94ReP_X6qqR6DrbqGnb-Ar?alt=json
 [2019-06-21 14:39:39,881] {{models.py:1760}} ERROR - ('BigQuery job
 status check failed. Final error was: %s', 404) Traceback (most recent
 call last):   File
 "/usr/local/lib/python3.6/site-ackages/airflow/contrib/hooks/bigquery_hook.py",
 line 1014, in run_with_configuration

因此,如果该对象为null,它将不再继续