c#List <items> with DateTime获取过去6周的全部内容

时间:2015-08-21 21:12:30

标签: c#

我有一个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)

有没有更好的方法来实现同样的目标?

1 个答案:

答案 0 :(得分:3)

您可以使用TimeSpanDateTime.Subtract以(可论证的)更惯用的形式实现相同的目标。

var sixWeeks = TimeSpan.FromDays(42);
var list = source.Where(t=>t.Created.Date >= DateTime.Now.Date.Subtract(sixWeeks));