C# - 在int

时间:2017-03-28 08:46:58

标签: c# datetime

我有两个Nullable类型的DateTime变量。

DateTime? date1 = new DateTime();
DateTime? date2 = new DateTime();

我需要在int变量中区分这两个日期。我试过的是 -

int daysBetweenDate = (date2 - date1).GetValueOrDefault().TotalDays;

但我无法解决问题。

  

注意这两个日期的差异将是   只有在它们的值不为零时才计算。

2 个答案:

答案 0 :(得分:7)

我会写一些类似的东西:

int? daysBetweenDate = date1.HasValue && date2.HasValue ? (int?)(date2.Value - date2.Value).TotalDays : null;

如果daysBetweenDatenull中至少有一个是date1,则date2null

答案 1 :(得分:3)

如果您的目标是在一个(或两个)日期为空时返回null,则可以这样写(如果您可以使用C#6.0编译器中提供的?运算符):

int? days = (int?) (date1 - date2)?.TotalDays;