2012-12-27 76 views
0

我有一個日期列表,我如何從中選擇一週?從日期列表中篩選一週

想這是日期列表:

02/11/2012 
11/25/2012 
04/08/2012 
12/03/2012 
04/13/2012 
04/11/2012 
12/12/2012 
01/25/2012 
04/10/2012 
04/12/2012 
04/09/2012 
05/23/2012 
10/05/2012 
01/25/2012 
04/14/2012 

提取的一週應該是這樣的:

04/08/2012 
04/09/2012 
04/10/2012 
04/11/2012 
04/12/2012 
04/13/2012 
04/14/2012 

編輯:

我有一個表在包含日期的數據庫中,我需要獲取al l記錄,根據這些日期過濾數據並在數週內查看它們。

+1

解釋邏輯 – VladL

+0

你嘗試過什麼嗎? –

回答

2

如果我理解正確,您希望以某種方式將您的列表中的日期分組,那麼同一周的日期將在同一組中。我認爲它應該做的事是這樣的:通過各組

var myWeekDates = groupedDates.SingleOrDefault(g => g.Key == myWeekNr); 

或簡單地重複:

var dates = (..) // your list of dates 

var dtf = DateTimeFormatInfo.CurrentInfo; 

var groupedDates = dates.GroupBy(d => dtf.Calendar.GetWeekOfYear(d, dtf.CalendarWeekRule, dtf.FirstDayOfWeek)); 

之後,你就可以從選擇一週中選擇日期

foreach(var g in groupedDates) 
{ 
    // (...) 
    // g.Key is #nr of the week 
    // g is IEnumerable<DateTime> with dates within that week 
} 
0

你是如何從數據庫中選擇這些記錄的?

也許你可以在SQL處理:

SELECT DATEPART(WK, date_column) FROM table; 

它返回日期的週數,所以你可以得到的第一天或該周的最後一天。