使用Linq查找范围内的总天数

时间:2016-11-11 14:54:08

标签: c# linq

我必须根据日期发送值找到0-30天的范围。需要根据currentDate进行计算。我已经完成了以下代码。我需要确认它是否正确。

query = query
   .Where(x => (int)(EntityFunctions.DiffDays(currentDate, (DateTime)x.DATE_SENT)) >= 0 
      && (int)(EntityFunctions.DiffDays(currentDate, (DateTime)x.DATE_SENT)) <= 30); 

非常欢迎您提出宝贵的建议。

1 个答案:

答案 0 :(得分:0)

您可以创建一个可枚举范围:

DateTime start = DateTime.Now; // Or an other date
DateTime end = start.AddDays(30);
var DateRange =  Enumerable.Range(0, 1 + end.Subtract(start).Days)
                  .Select(offset => start.AddDays(offset))
                  .ToArray();