似乎每个人都总是忽略时间部分,但是您将如何比较忽略日期的两个日期时间? 如果我们只是将它们作为 TIME 进行比较,它似乎仍然倾向于最早的日期。
(2004-12-02 9:00)> (2011-12-02 8:24) --这是真的。
下面的代码有效,但分别比较小时和分钟
感觉有点跳动。var results = from x in dataContext.GetTable<ScheduleEntity>()
where x.LastRunDate < date.Date
&& x.reportingTime.Hour <= date.Hour
&& x.reportingTime.Minute <= date.Minute
&& x.reportingFequency.Substring(position, 1) == scheduled
select x;
此外,我们这样做的原因是因为我们无法将 SQL TIME 与 TIMESPAN 进行比较,这表示它会是相同的,但 LINQ 返回"TIME 到 bigint 转换错误"。
DateTime
具有TimeOfDay
属性,您可以使用它来比较两个日期的时间,如下所示:
var one = DateTime.Now.AddHours(1);
var two = DateTime.Now;
var diff = one.TimeOfDay - two.TimeOfDay;