我有一些棘手的日期範圍功能,我需要。日期範圍的LINQ查詢?
時間表有兩件事...一個開始日期和時間。
結束日期可以通過做計算:
ResolveEndDate(DateTime start, double hours)
{
int days = (int)Math.Floor(hours/GetDayHours());
DateTime dt = start.AddDays(days);
}
這是因爲工作一天有N個小時,等等。
在此基礎上,我需要找到項目,其中:
- 開始之前之後
- 開始範圍和結束前,內內
- 起始端和內內
- 起始端和結束後
我怎麼能寫一個LINQ查詢來做到這一點?
鑑於這樣的事情:
public static IEnumerable<Project> GetProjectRange(IEnumerable<Project> projects, DateTime start, DateTime end)
{
return from p in projects
where p.Schedule.DateFrom.Value...
select p;
}
另一個棘手的事情是單月日,年應予以考慮。時間不應該被考慮。
1個滿足所有4個條件的查詢。
我沒有寫這個查詢的麻煩,但我會這樣做的方式將是一個巨大的混亂。我希望有更好的方法來做日期範圍。
謝謝
你的意思是指這4個標準中的任何一個或每個標準的查詢?第一和第四標準不一樣嗎? – 2013-03-01 18:50:03
對不起,這是一個錯誤。此外,1查詢滿足所有4. – jmasterx 2013-03-01 18:51:32
我會說實話,這是瘋了。在這些條件下......每一個項目。沒有?你想讓它們按條件排序嗎? – 2013-03-01 18:57:33