如何比较两个DateTimes on Time只忽略日期?

And*_*ndy 20 c# datetime .net-4.0

似乎每个人都忽略了时间部分,但是你如何比较忽略日期的两个日期时间呢?如果我们只是将它们比作TIME,它似乎仍然偏向于最早的日期.

(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;  
Run Code Online (Sandbox Code Playgroud)

另外,我们这样做的原因是因为我们无法将SQL TIME与TIMESPAN进行比较,表示它会相同,但LINQ返回"TIME转换为bigint转换错误".

Col*_*inE 40

DateTime有一个TimeOfDayProperty,您可以使用它来比较两个日期的时间如下:

var one = DateTime.Now.AddHours(1);
var two = DateTime.Now;
var diff = one.TimeOfDay - two.TimeOfDay;
Run Code Online (Sandbox Code Playgroud)