比较日期时间小于或等于不工作

时间:2015-10-15 17:46:04

标签: c# asp.net-mvc linq datetime nhibernate

我有一个从数据库中获取数据的查询。用户可以选择获取数据的日期范围。我希望我的日期范围过滤器具有包容性,因此如果用户选择日期和日期,则查询应执行以下操作:

all dates >= date FROM
AND
all dates <= date TO

这对于FROM日期工作正常,我将所有内容都更大并且等于日期FROM。但是对于日期TO,它不包括日期,只是让所有东西都比日期更少。

这里是代码:

query = query
   .Where(x => x.TradeDt >= tradeDFrom)
   .Where(x => x.TradeDt <= tradeDTo);

2 个答案:

答案 0 :(得分:3)

TradeDt可能是一个日期时间,时间部分不是午夜,而您的tradeDTo的时间部分是午夜。为tradeDTo添加一天,并使用&lt;

tradeDTo=tradeDTo.AddDays(1);
query = query
   .Where(x => x.TradeDt >= tradeDFrom)
   .Where(x => x.TradeDt < tradeDTo);

答案 1 :(得分:2)

尝试仅比较日期部分。

query = query
  .Where(x => x.TradeDt.Date >= tradeDFrom.Date)
  .Where(x => x.TradeDt.Date <= tradeDTo.Date);