按日期范围统计用户
本文关键字:用户 统计 范围 日期 | 更新日期: 2023-09-27 18:02:57
我有以下用户实体:
public class User
{
public DateTime Birthday { get; set; }
}
如何按年龄范围统计用户?比如:
0 to 5
5 to 15
...
我试了如下:
var usersByAge = context.Users.GroupBy(x => x.Info.Birthday).Count();
但是这个按用户的生日分组并按天计数。它按天计算,因为时间总是空的。
但是我需要按年龄范围分组。例如,以年为单位获取从birthday到DateTime.Now的跨度。然后按"0-5"、"5-15"、……分组。然后计数。
我该怎么做?请告诉我是否清楚。
你可以这样选择:
var year = DateTime.Now.Year;
var users = yourUserCollection.Count(x =>
x.BirthDay.Year - year >= 5 &&
x.BirthDay.Year - year <= 11);