2012-06-03 17 views
25

मेरे पास दो कैलेंडर हैं और प्रत्येक कैलेंडर से डेटटाइम लौटाता है। चयनित दिनांक।दो तिथियों को घटाकर

मैं दो चयनित तिथियों को एक दूसरे से घटाने के बारे में कैसे जा सकता हूं, जिससे मुझे दो चयनों के बीच दिनों की राशि मिलती है?

एक कैलेंडर है। सॉर्ट्रैक्ट() लेकिन इसे डेटटाइम के बजाय टाइमस्पेन की आवश्यकता है।

उत्तर

36

आप someDateTime.Subtract(otherDateTime) का उपयोग कर सकते हैं, यह TimeSpan देता है जिसमें TotalDays संपत्ति होती है।

+0

तुम भी पारित कर सकते हैं की जरूरत है 'घटाना()' एक 'TimeSpan' और यह एक' DateTime' वापस आ जाएगी। http://msdn.microsoft.com/en-us/library/ae6246z1%28v=vs.110%29.aspx – northben

25

बस का उपयोग करें:

TimeSpan difference = end - start; 
double days = difference.TotalDays; 

ध्यान दें कि यदि आप उन्हें इलाज के लिए के रूप में दिनांकों चाहते तो आप शायद

TimeSpan difference = end.Date - start.Date; 
int days = (int) difference.TotalDays; 

इस तरह का उपयोग करना चाहिए आप बार के आधार पर अलग-अलग परिणाम प्राप्त नहीं होगा ।

(आप अगर आप चाहते हैं - ऑपरेटर के बजाय Subtract विधि का उपयोग कर सकते हैं, लेकिन व्यक्तिगत रूप से मैं यह स्पष्ट ऑपरेटर का उपयोग करने के लिए लगता है।)

+14

यह एक बोल्ड मैन है जो स्कीटकोड (टीएम) को सुधारता है। अच्छा काम भूषण। – keithl8041

3

इसके बारे में सोचो।
आप दो तिथियों के बीच एक अंतर कैसे व्यक्त करते हैं? एक और तारीख के साथ?
इसलिए आप समयावधि

DateTime dtToday = new System.DateTime(2012, 6, 2, 0, 0, 0); 
DateTime dtMonthBefore = new System.DateTime(2012, 5, 2, 0, 0, 0); 
TimeSpan diffResult = dtToday.Subtract(dtMonthBefore); 
Console.WriteLine(diffResult.TotalDays); 
+0

वास्तव में दो तिथियों के बीच अंतर का प्रतिनिधित्व करने के लिए टाइमस्पेन का उपयोग करने के साथ कई मुद्दे हैं, लेकिन * इस * मामले में यह ठीक है :) –

+0

सभी इनपुट के लिए धन्यवाद। दरअसल मुझे केवल दिन की आवश्यकता होती है और मैंने नहीं देखा कि सबट्रैक्ट विधि एक डेटटाइम पैरामीटर भी ले सकती है जिसका मतलब है कि मुझे यह चाहिए: जब तक कैलेंडर नहीं। चयन किया गया। सब्सक्राइब करें (कैलेंडर से चयन करें। चयनित)। –

+0

@sd_dracula: क्या आप निश्चित रूप से उपयोग करना पसंद करते हैं ऑपरेटर की बजाय 'घटाना' विधि? –

संबंधित मुद्दे