एक मनमाना समय मैं एक आइटम वर्ग इस तरह परिभाषित किया गया की एक 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
अंतराल द्वारा प्रदान की जाती है एक और वर्ग, लेकिन मैं मिलीसेकंड प्राप्त कर सकता हूं जो उस अंतराल का प्रतिनिधित्व करते हैं (उदाहरण के लिए, अंतराल। फ्रॉममिन्यूट्स (5)। गेटमिलिसेकंड() 300000 वापस आना चाहिए)। सवाल यह है कि मैं एक समूह कार्य कैसे लिख सकता हूं जो मुझे ऐसा कुछ करने की अनुमति देता है: data = items.GroupBy(t => GroupingFunction(t.DateTime, interval))
और वह परिणाम प्राप्त करें?
अद्यतन: अंतराल मिनटों में आवश्यक नहीं होगा। यह घंटों, मिनटों या यहां तक कि दिनों में हो सकता है।
आप चाहते समूहन या छनन (अपने उदाहरण के रूप में)? –
ग्रुपिंग। उदाहरण में 00:05, 00:10 और 00:15 00:15 बन गया (मैं तीन वस्तुओं के मानों को समेटूंगा और 00:15 टाइमस्टैम्प रखूंगा)। – Fernando