比较两个 DateTime 变量

Compare two DateTime variables

我想比较两个日期时间变量。我在旧项目的代码中有这个:

 public int GetTotal(DateTime d)
    {
        using (rdbyDataContext2 Context = new rdbyDataContext2())
        {
            var q1 = from qu in Context.SearchRequests
                     where
                       qu.search_date.Year.Equals(d.Year) && qu.search_date.Month.Equals(d.Month) && qu.search_date.Day.Equals(d.Day)  
                     orderby qu.user_name
                     select qu;

            return q1.Count();
        }
    }

所以,我想更快地比较 DateTime 变量。我该如何实施?

如果您只想比较日期部分(而不是时间):

qu.search_date.Date == d.Date

如果您只想比较日期而不比较当天的时间,应该这样做:

public int GetTotal(DateTime d)
{
    using (rdbyDataContext2 Context = new rdbyDataContext2())
    {
        var q1 = from qu in Context.SearchRequests
                 where
                   qu.search_date.Date = d.Date
                 orderby qu.user_name
                 select qu;
        return q1.Count();
    }
}

DateTime.Date 由 LINQ 正确处理到 SQL。