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)