सप्ताह, महीने और वर्ष के साथ तारीखों की तुलना .NET-c #, .NET, दिनांक, डेटाटाइम का उपयोग कर

मैं वर्तमान में वर्ष के सप्ताह को मिलीसेकंड में बदलने के लिए इस तरह से कर रहा हूं।

DateTime source = new DateTime(2014, 1, 1);
int weeks = 14; //first week of April
**int month = 4; //I don"t use it yet**
int delta = 7 + DayOfWeek.Wednesday - source.DayOfWeek;
if (delta >= 7)
delta -= 7;
source = source.AddDays((weeks- 1) * 7 + delta);
double timeMs = (source - new DateTime(1970, 1, 1)).TotalMilliseconds;

हालांकि, मुझे समस्याओं के साथ आया कि दिया गया सप्ताह दो महीने का हो सकता है, जैसे 2014 के 14 वें सप्ताह मार्च और अप्रैल से संबंधित है।

उदाहरण के लिए, मुझे ये प्रविष्टियां मिलती हैं:

week: 14, month: 3, year: 2014, total: 13

week: 14, month: 4, year: 2014, total: 98

जिस तरह से मैं कर रहा हूं मुझे एमएस में एक ही समय-टिकट मिलता हैदोनों प्रविष्टियों के लिए जो सप्ताह के विकास के चार्ट के निर्माण के लिए अच्छा है लेकिन यह बुरा है अगर मैं एक ही समय में महीने और सप्ताह तक डेटा फ़िल्टर करना चाहता हूं (उदाहरण: अप्रैल के 14 सप्ताह से अप्रैल के 15 अप्रैल तक -> मैं नहीं करता उन 13 उपकरण को अप्रैल के 14 सप्ताह से संबंधित होना चाहते हैं)

तो मेरा सवाल है: साल के एक सप्ताह के बाद, महीना और साल इन क्षेत्रों के साथ सटीक रूप से दो तिथियों की तुलना करने के लिए कोई तरीका है (पुस्तकालय या नहीं)?

पीएस: फ्रंट एंड पर मैं किसी दिए गए दिनांक के वर्ष, महीने और वर्ष के सप्ताह को पाने के लिए moment.js का उपयोग करता हूं।

फिर भी धन्यवाद।

उत्तर:

उत्तर № 1 के लिए 1

आप इसका उपयोग कर सकते हैं सप्ताह की कक्षा .NET के लिए समय अवधि पुस्तकालय:

// ----------------------------------------------------------------------
public void WeekOfYear()
{
Week week = new Week( 2014, 14 );
Console.WriteLine( "Week: {0}", week );
Console.WriteLine( "Year: {0}, Month: {1}", week.Start.Year, week.Start.Month );
Console.WriteLine( "NextWeek: {0}", week.GetNextWeek() );
} // WeekOfYear

जवाब के लिए 0 № 2

आप सप्ताह संख्या प्राप्त करने के लिए कैलेंडर कक्षा का उपयोग कर सकते हैं http://msdn.microsoft.com/en-us/library/system.globalization.calendar(v=vs.110).aspx


संबंधित सवाल
सबसे लोकप्रिय