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

本文关键字:范围内 一个 查找 Linq 使用 | 更新日期: 2023-09-27 18:17:41

我必须根据发送的日期找到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); 

欢迎多提宝贵意见

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

您可以创建一个Enumerable Range:

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();