KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have an IEnumerable of an item class defined like this: 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; } } These items are in a specific time interval (5 minutes for exemple). I need to group them by the date, but changing the interval. For example, if the items are in the following order: 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 and I want to group them into a 15 minutes interval, the result should look like this: 2010-08-24 00:15 2010-08-24 00:30 The interval is provided by another class, but I can get the milliseconds that represent that interval (for example, Interval.FromMinutes(5).GetMilliseconds() should return 300000). The question is how can I write a grouping function that allows me to do something like this : data = items.GroupBy(t => GroupingFunction(t.DateTime, interval)) and obtain that result? Update: the interval will not be necessarily in minutes. It could be in hours, minutes or even days.
Tags (comma-separated)
Save Edits
Cancel