2013-03-08 77 views
1

我有以下的用戶實體:統計用戶按日期範圍

public class User 
{ 
    public DateTime Birthday { get; set; } 
} 

我怎麼能算按年齡範圍的用戶?喜歡的東西:

0 to 5 
5 to 15 
... 

我試過如下:

var usersByAge = context.Users.GroupBy(x => x.Info.Birthday).Count(); 

但是,這組用戶可以通過他們的生日,並計算它計算一天。 它由白天,因爲時間總是空的...

但我需要按年齡範圍組。 例如,獲取從生日到DateTime.Now的年限。 然後按「0-5」,「5-15」,...組合,然後數一數。

我該怎麼做?請告訴我是否清楚。

回答

1

您可以選擇過濾它們是這樣的:

var year = DateTime.Now.Year; 
var users = yourUserCollection.Count(x => 
    x.BirthDay.Year - year >= 5 && 
    x.BirthDay.Year - year <= 11); 
+0

是已經編輯我的答案thak你;) – 2013-03-08 22:53:47

+0

張貼的代碼將計算是舊的,然後5歲時,正確的用戶?我需要計算日期範圍內的用戶。計數0到5之間,6到15之間,16到30之間的用戶......在年齡範圍內。這有意義嗎? – 2013-03-08 22:54:22

+0

我剛更新了我的初始代碼,試圖更好地解釋它。 – 2013-03-08 22:54:58