如何比较日期值只在LINQ

本文关键字:LINQ 日期 何比较 比较 | 更新日期: 2023-09-27 18:13:03

我正试图从数据库中获取StartTime字段应该是今天的日期的记录。

service.GetAll().Where(o => o.StartTime. == DateTime.Today.Date).Select(o => new SelectableItem(o.Id, o.TestPurpose, v == o.Id))

数据库中的日期是这种格式。

2016-07-01 07:00:00.000

我如何比较这个格式和今天的日期,我只需要比较日期而不是时间。

如何比较日期值只在LINQ

您可以使用@Renan Araujo指定的方法。或者另一种方法是,定义两个日期并使用

.Where(o => o.StartTime >= date1 && o.StartTime < date2)

,

  date1 = DateTime.Today.Date;            // (lets say today's date=10-13-2016 )
  date2 = DateTime.Today.AddDays(1).Date; // (tomorrow's date = 10-14-2016)

使用EntityFunctions。TruncateTime删除时间部分:

service.GetAll()
.Where(o => EntityFunctions.TruncateTime(o.StartTime) == EntityFunctions.TruncateTime(DateTime.Today.Date))
.Select(o => new SelectableItem(o.Id, o.TestPurpose, v == o.Id))