如何按时比较两个日期时间,只忽略日期

本文关键字:日期 时间 两个 比较 何按时 | 更新日期: 2023-09-27 17:57:09

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

(2004-12-02 9:00)> (2011-12-02 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 进行比较,这表示它会是相同的,但 LINQ 返回"TIME 到 bigint 转换错误"。

如何按时比较两个日期时间,只忽略日期

DateTime具有TimeOfDay属性,您可以使用它来比较两个日期的时间,如下所示:

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