似乎每个人总是忽略时间部分,但是你如何比较忽略日期的两个日期时间?如果我们只是将它们作为时间进行比较,它似乎仍然偏向于最早的日期。
(12/02/2004 9:00)> (12/02/2011 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进行比较this说它会是相同的但是LINQ返回“TIME转换为bigint转换错误”。
答案 0 :(得分:36)
DateTime
有TimeOfDayProperty
,您可以使用它来比较两个日期的时间,如下所示:
var one = DateTime.Now.AddHours(1);
var two = DateTime.Now;
var diff = one.TimeOfDay - two.TimeOfDay;