任意時間我有一個這樣定義的項目類的IEnumerable:組日期時間通過間隔
public class Item {
public DateTime Date { get; private set; }
public decimal? Value { get; private set; }
public Item(DateTime date, decimal? value) {
Date = date;
Value = value;
}
}
這些項目是在一個特定的時間間隔(5分鐘爲例)。我需要按日期分組,但改變時間間隔。例如,如果該項目是按以下順序:
2010-08-24 00:05
2010-08-24 00:10
2010-08-24 00:15
2010-08-24 00:20
2010-08-24 00:25
2010-08-24 00:30
,我想它們分成15分鐘車間隔,結果應該是這樣的:
2010-08-24 00:15
2010-08-24 00:30
間隔由提供另一個類,但我可以獲得表示該間隔的毫秒(例如,Interval.FromMinutes(5).GetMilliseconds()應返回300000)。問題是我該如何編寫一個分組函數,它允許我做這樣的事情:data = items.GroupBy(t => GroupingFunction(t.DateTime, interval))
並獲得結果?
更新:間隔將不一定在幾分鐘內。它可能在幾小時,幾分鐘甚至幾天。
你想分組或過濾(如你的例子)? – 2010-08-24 17:48:59
分組。在例子00:05,00:10和00:15變成00:15(我將三個項目的值相加並保留00:15時間戳)。 – Fernando 2010-08-24 17:53:01