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

标签 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;  

此外,我们这样做的原因是因为我们无法将 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/

相关文章:

python - 如何从 np.datetime64 对象中获取月份,而不是使用 pandas

c# - 使用可用时间和不可用时间的历史记录,查找某个时间范围内的可用时间

c# - 登录成功后如何重定向到某个页面?

.net - 我可以找到在文件中构建的目标 .NET dll 吗?

c# - Entity Framework 中应该如何管理一对多关系?

c# - Automapper - 在不创建具体类的情况下映射到接口(interface)类型属性

c# - 在线测试中的算法复杂度

python - 如何在 pandas 中设置日期时间地板操作的基础?

c# - 删除或添加项目时 CollectionViewSource 绑定(bind)不更新

.net - 无法加载类型 'System.Web.Mvc.ViewUserControl<SOMETYPE>'