-1

我想减去 2“日期时间?” 值并以天数显示答案。TimeSpan 或 ToDays 方法不适用于可为空的日期时间。我还有其他方法可以做到吗?

4

3 回答 3

9

你不能只使用:

if(yourDateTime != null) {
   DateTime dateTime = yourDateTime.Value; // You can run .ToDays etc on this

} 
于 2013-07-15T14:03:13.143 回答
7

您需要获取.Value可空类型的属性才能访问基础值类型的方法。

请注意,如果没有值,这将引发异常。

于 2013-07-15T14:02:49.433 回答
4

像这样做:

DataTime? a;
DateTime? b; 
TimeSpan? duration;

// Assign values to a and b...

if(a.HasValue && b.HasValue)
{
  duration = b.Value - a.Value;
}

var days = duration.GetValueOrDefault().TotalDays;
var hour = duration.GetValueOrDefault().TotalHours;
于 2013-07-15T14:19:07.413 回答