2011-05-20 222 views
14

似乎每个人都会忽略时间部分,但是如何比较两个日期时间忽略日期?如果我们将它们作为TIME进行比较,它似乎仍然支持最早的日期。如何比较两个日期时间只忽略日期?

(12/02/2009 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时间进行比较的时间跨度this说,这将是相同的,但LINQ返回一个“TIME为bigint转换错误”。

回答

31

DateTimeTimeOfDayProperty,你可以用这个时代比较两个日期如下:

var one = DateTime.Now.AddHours(1); 
var two = DateTime.Now; 
var diff = one.TimeOfDay - two.TimeOfDay;