如何计算dateTime列表中的日期数

时间:2016-10-07 13:40:23

标签: c# asp.net-mvc linq

我有一个MVC项目。我有一个创建username的日期列表。该列表的类型为DateTime

现在,我想说明在过去12个月内创建了多少usernames

我试图在ViewModel中展示这一点。我可以通过执行类似

的操作来计算有多少
@{ int NumofUserNames = Model.SomethingHere.Count;
}

但这会计算所有项目。如何编写它以显示今年(过去365天)的日期

在c#

更新:该视图将显示过去12个月内创建的用户数量,因此我指的是用户查看过去的365个用户。

3 个答案:

答案 0 :(得分:4)

使用此:

int NumofUserNames = Model.SomethingHere.Count(c => c > DateTime.Today.AddYears(-1));

答案 1 :(得分:1)

有两个答案可供选择:

  • 本年度:

    @{ 
        int currentYear = System.DateTime.Today.Year; 
        int NumofUserNames = Model.Where(x => x.Year == currentYear).Count();
     }
    
  • 过去365天:

    @{ 
        DateTime startDate = DateTime.Today.AddDays(-365); 
        int NumofUserNames = Model.Where(x => x >= startDate).Count();
    }
    

答案 2 :(得分:0)

1.今年

int NumofUserNames = Model.SomethingHere.Count(x=>x.Year==DateTime.Today.Year);

2.过去365天

int NumofUserNames = Model.SomethingHere.Count(x=>x.Year>DateTime.Today.AddYears(-1));