जवाबों:
निम्न उदाहरण यह दर्शाता है कि यह कैसे करना है:
DateTime a = new DateTime(2010, 05, 12, 13, 15, 00);
DateTime b = new DateTime(2010, 05, 12, 13, 45, 00);
Console.WriteLine(b.Subtract(a).TotalMinutes);
जब इस प्रिंट को "30" निष्पादित किया जाता है, क्योंकि दिनांक / समय के बीच 30 मिनट का अंतर होता है।
परिणाम DateTime.Subtract(DateTime x)
एक TimeSpan ऑब्जेक्ट है जो अन्य उपयोगी गुण देता है।
TotalMinutes
! (नहीं Minutes
)
आप TimeSpan
संरचना चाहते हैं :
TimeSpan diff = dateTime1 - dateTime2;
टाइमस्पैन ऑब्जेक्ट एक समय अंतराल (समय की अवधि या बीता हुआ समय) का प्रतिनिधित्व करता है, जिसे किसी दूसरे दिन की सकारात्मक या नकारात्मक संख्या के रूप में मापा जाता है। टाइमस्पैन संरचना का उपयोग दिन के समय का प्रतिनिधित्व करने के लिए भी किया जा सकता है, लेकिन केवल अगर समय किसी विशेष तिथि से असंबंधित हो।
इस संरचना से दिन, घंटे, मिनट, सेकंड और मिलीसेकंड प्राप्त करने की विभिन्न विधियाँ हैं।
यदि आप केवल अंतर में रुचि रखते हैं तो:
TimeSpan diff = Math.Abs(dateTime1 - dateTime2);
आदेश की परवाह किए बिना समय के बीच आपको सकारात्मक अंतर देगा।
यदि आपको अभी समय घटक मिला है, लेकिन समय आधी रात तक विभाजित हो सकता है, तो वास्तविक जानकारी प्राप्त करने के लिए आपको अवधि में 24 घंटे जोड़ने की आवश्यकता है:
TimeSpan diff = dateTime1 - dateTime2;
if (diff < 0)
{
diff = diff + TimeSpan.FromDays(1);
}
क्या आप की जरूरत का उपयोग है दिनांक समय classs घटाना विधि है, जो एक रिटर्न TimeSpan ।
var dateOne = DateTime.Now;
var dateTwo = DateTime.Now.AddMinutes(-5);
var diff = dateTwo.Subtract(dateOne);
var res = String.Format("{0}:{1}:{2}", diff.Hours,diff.Minutes,diff.Seconds));
यदि वे दोनों यूटीसी तिथि-समय मान हैं जो आप कर सकते हैं TimeSpan diff = dateTime1 - dateTime2;
अन्यथा हर एक संभावित मामले में सही उत्तर पाने की आपकी संभावना शून्य है।
var startDate = new DateTime(2007, 3, 24);
var endDate = new DateTime(2009, 6, 26);
var dateDiff = endDate.Subtract(startDate);
var date = string.Format("{0} years {1} months {2} days", (int)dateDiff.TotalDays / 365,
(int)(dateDiff.TotalDays % 365) / 30, (int)(dateDiff.TotalDays % 365) / 30);
Console.WriteLine(date);
private void button1_Click(object sender, EventArgs e)
{
TimeSpan timespan;
timespan = dateTimePicker2.Value - dateTimePicker1.Value;
int timeDifference = timespan.Days;
MessageBox.Show(timeDifference.ToString());
}
Console.WriteLine((a - b).ToString(@"hh\:mm\:ss"))
:। देखें: MSDN कस्टम