任意时间我有一个这样定义的项目类的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