我試圖編寫一個查詢,返回發生在一天的某個小時內加上持續時間的日期。例如,在(8PM + 8小時)之後發生的任何DateTime
,小時和持續時間是可變的。小時+持續時間可能在第二天。 A秒殺:LINQ與持續時間之間的小時數之間的日期時間
[Test]
public void should_find_dates_between_beginhour_plus_duration()
{
var dates = new []
{
new DateTime(2017, 1, 3, 12,0,0),
new DateTime(2017, 1, 4, 21,0,0),
new DateTime(2017, 1, 5, 2,0,0)
};
var beginHour = 20; //8pm
var duration = 8; //hours
var results = dates.Where(x => x.Hour >= beginHour && x <= x.???? + duration);
//should contain the last 2 dates
foreach (var date in results)
{
Console.WriteLine(date);
}
}
日期無關緊要?只有一小時? –
'x.AddHours(持續時間)' – JSteward
@SergeyBerezovskiy小時+持續時間可以進入下一個「日期」。應該包含在結果中。 – mxmissile