我如何在linq中比较没有时间部分的日期



如何在可为null的DateTime中比较没有Time部分的日期?在我的模型中,我有日期时间字段作为

public DateTime? AdjustmentDate { get; set; }

我试着将日期作为进行比较

if (!request.reconciliationDate.Equals(DateTime.MinValue))
    filterResult = filterResult.Where(rd => 
        rd.AdjustmentDate <= request.reconciliationDate.Date).ToList(); 

并且CCD_ 1被声明为

public DateTime reconciliationDate { get; set; }

但当我使用reconciationDate搜索时,我得到的日期为{5/20/2020 12:00:00 AM},我输入的日期为5/20/2020。我正在尝试与日期5/20/2020进行比较,但找不到,

如何从可为null的DateTime中提取时间部分?

我尝试了DbFunctions.TruncateTime(request.recuriationDate.Date(,但我得到了DbFunctions doesnt contain definition TruncateTime

Nullable<T>对象将T的值存储在.Value属性中,并且有一个方便的.HasValue属性可以让您知道它是否为空。因此,如果您将reconciliationDate0与DateTime进行比较,您可以执行以下操作:

if (!request.reconciliationDate.Equals(DateTime.MinValue))
    filterResult = filterResult
        .Where(rd =>
            rd.AdjustmentDate.HasValue &&
            rd.AdjustmentDate.Value.Date <= request.reconciliationDate.Date)
        .ToList();

If(dt1.Date==dt2.Date(这样不行吗?

最新更新