我想减去2“日期时间?”值并以天数显示答案。 TimeSpan或ToDays方法不适用于可空的日期时间。我能用其他任何方式吗?
答案 0 :(得分:8)
你不能只使用:
if(yourDateTime != null) {
DateTime dateTime = yourDateTime.Value; // You can run .ToDays etc on this
}
答案 1 :(得分:7)
您需要获取可空类型的.Value
属性才能访问基础值类型的方法。
请注意,如果没有值,这将抛出异常。
答案 2 :(得分:1)
这样做:
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;