似乎每个人都总是忽略时间部分,但是您如何比较两个忽略日期的日期时间呢?如果我们只是将它们作为 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;
此外,我们这样做的原因是因为我们无法将 SQL TIME 与 TIMESPAN this 进行比较说它是一样的,但 LINQ 返回“TIME to bigint conversion error”。
最佳答案
DateTime
有一个 TimeOfDay
属性,您可以使用它来比较两个日期的时间,如下所示:
var one = DateTime.Now.AddHours(1);
var two = DateTime.Now;
var diff = one.TimeOfDay - two.TimeOfDay;
关于c# - 如何比较两个 DateTimes on Time 只忽略日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6069710/