C# में दो DateTime मानों के बीच अंतर निकालने के लिए Subtract() मेथड या घटाव ऑपरेटर (-) का उपयोग किया जाता है, जो एक TimeSpan ऑब्जेक्ट लौटाता है।
उदाहरण
using System;
public class Demo
{
public static void Main()
{
// दो तारीखें सेट करें
DateTime date1 = new DateTime(2018, 8, 27);
DateTime date2 = new DateTime(2018, 8, 28);
// अंतर निकालें (TimeSpan लौटाता है)
TimeSpan difference = date2.Subtract(date1);
// या सरलता से:
// TimeSpan difference = date2 - date1;
Console.WriteLine($"पहली तारीख: {date1:d}");
Console.WriteLine($"दूसरी तारीख: {date2:d}");
Console.WriteLine();
// TimeSpan प्रॉपर्टीज
Console.WriteLine("TimeSpan विवरण:");
Console.WriteLine($" कुल दिन: {difference.TotalDays}");
Console.WriteLine($" कुल घंटे: {difference.TotalHours}");
Console.WriteLine($" कुल मिनट: {difference.TotalMinutes}");
Console.WriteLine($" कुल सेकंड: {difference.TotalSeconds}");
Console.WriteLine($" कुल मिलीसेकंड: {difference.TotalMilliseconds}");
Console.WriteLine();
// घटक प्रॉपर्टीज (केवल उस घटक का मान)
Console.WriteLine("घटक प्रॉपर्टीज:");
Console.WriteLine($" दिन: {difference.Days}");
Console.WriteLine($" घंटे: {difference.Hours}");
Console.WriteLine($" मिनट: {difference.Minutes}");
Console.WriteLine($" सेकंड: {difference.Seconds}");
Console.WriteLine($" मिलीसेकंड: {difference.Milliseconds}");
}
}
आउटपुट
पहली तारीख: 8/27/2018 दूसरी तारीख: 8/28/2018 TimeSpan विवरण: कुल दिन: 1 कुल घंटे: 24 कुल मिनट: 1440 कुल सेकंड: 86400 कुल मिलीसेकंड: 86400000 घटक प्रॉपर्टीज: दिन: 1 घंटे: 0 मिनट: 0 सेकंड: 0 मिलीसेकंड: 0
TimeSpan प्रॉपर्टीज: TotalX बनाम X
| प्रॉपर्टी | विवरण | उदाहरण (1.5 दिन के लिए) |
|---|---|---|
TotalDays | कुल दिन (दशमलव सहित) | 1.5 |
Days | केवल दिन घटक (0-365) | 1 |
TotalHours | कुल घंटे | 36 |
Hours | केवल घंटे घटक (0-23) | 12 |
व्यावहारिक उदाहरण
using System;
public class Demo
{
public static void Main()
{
DateTime birthDate = new DateTime(1990, 5, 15);
DateTime today = DateTime.Today;
TimeSpan age = today - birthDate;
Console.WriteLine($"जन्म तारीख: {birthDate:d}");
Console.WriteLine($"आज: {today:d}");
Console.WriteLine($"आयु: {age.Days} दिन");
Console.WriteLine($"आयु (वर्ष में): {age.Days / 365.25:F1} वर्ष");
// दो DateTime के बीच अवधि की गणना
DateTime start = new DateTime(2024, 1, 1, 9, 0, 0); // 9:00 AM
DateTime end = new DateTime(2024, 1, 1, 17, 30, 0); // 5:30 PM
TimeSpan workDuration = end - start;
Console.WriteLine($"\nकार्य अवधि: {workDuration.Hours} घंटे {workDuration.Minutes} मिनट");
// ऋणात्मक TimeSpan (यदि पहली तारीख बाद की है)
TimeSpan negative = date1 - date2;
Console.WriteLine($"\nऋणात्मक अंतर: {negative.TotalDays} दिन");
}
}
आउटपुट
जन्म तारीख: 5/15/1990 आज: 1/15/2024 आयु: 12300 दिन आयु (वर्ष में): 33.7 वर्ष कार्य अवधि: 8 घंटे 30 मिनट ऋणात्मक अंतर: -1 दिन
महत्वपूर्ण बिंदु
TimeSpanएक अवधि (duration) दर्शाता है, समय का बिंदु नहींTotalDaysआदिdoubleलौटाते हैं,Daysआदिintलौटाते हैं- घटाव का क्रम मायने रखता है:
later - earlier= धनात्मक,earlier - later= ऋणात्मक DateTime.Subtract()और-ऑपरेटर समान काम करते हैं- समय क्षेत्र (timezone) का ध्यान रखें -
DateTime.Kindप्रॉपर्टी जांचें