我有一个List和Item包含一个DateTime属性。该列表中包含大量数据。
我需要从今天开始过去6周的项目。
我想这样做:
6周= 6周x 7天= 42天
DateTime today = DateTime.Now;
DateTime startDate = today.AddDays(42);
List<Item> list = list.Where(t=>t.Created.Date >= startDate.Date && t.Created.date <= today.Date)
有没有更好的方法来实现同样的目标?
答案 0 :(得分:3)
您可以使用TimeSpan
和DateTime.Subtract
以(可论证的)更惯用的形式实现相同的目标。
var sixWeeks = TimeSpan.FromDays(42);
var list = source.Where(t=>t.Created.Date >= DateTime.Now.Date.Subtract(sixWeeks));