Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में DateTime.Equals() मेथड - दो DateTime ऑब्जेक्ट की तुलना

C# में DateTime.Equals() मेथड का उपयोग यह जांचने के लिए किया जाता है कि क्या दो DateTime ऑब्जेक्ट या इंस्टेंस समान हैं या नहीं। यदि दोनों समान हैं तो TRUE लौटाता है, अन्यथा FALSE।

सिंटैक्स

स्टैटिक मेथड (दो DateTime तुलना के लिए):

public static bool Equals (DateTime date1, DateTime date2);

इंस्टेंस मेथड (वर्तमान इंस्टेंस की तुलना के लिए):

public override bool Equals (object value);
public bool Equals (DateTime value);

उदाहरण 1: असमान DateTime (स्टैटिक मेथड)

using System; 

public class Demo 
{ 
    public static void Main() 
    { 
        DateTime d1 = new DateTime(2019, 09, 10, 5, 15, 25); 
        DateTime d2 = d1.AddMonths(25); 
        
        Console.WriteLine("Initial DateTime = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d1); 
        Console.WriteLine("\nNew DateTime (After adding months) = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d2); 
        
        bool res = DateTime.Equals(d1, d2); 
        
        if (res) 
            Console.WriteLine("\ndate1 = date2. "); 
        else 
            Console.WriteLine("\ndate1 is not equal to date2. "); 
    } 
}

आउटपुट

Initial DateTime = 10 September 2019, 05:15:25
New DateTime (After adding months) = 10 October 2021, 05:15:25
date1 is not equal to date2.

उदाहरण 2: समान DateTime (स्टैटिक मेथड)

using System; 

public class Demo 
{ 
    public static void Main() 
    { 
        DateTime d1 = new DateTime(2019, 11, 11, 7, 15, 30); 
        DateTime d2 = new DateTime(2019, 11, 11, 7, 15, 30); 
        
        Console.WriteLine("DateTime1 = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d1); 
        Console.WriteLine("\nDateTime2 = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d2); 
        
        bool res = DateTime.Equals(d1, d2); 
        
        if (res) 
            Console.WriteLine("\ndate1 = date2 "); 
        else 
            Console.WriteLine("\ndate1 is not equal to date2 "); 
    } 
}

आउटपुट

DateTime1 = 11 November 2019, 07:15:30
DateTime2 = 11 November 2019, 07:15:30
date1 = date2

उदाहरण 3: इंस्टेंस मेथड का उपयोग

using System; 

public class Demo 
{ 
    public static void Main() 
    { 
        DateTime d1 = new DateTime(2023, 1, 15, 10, 30, 0); 
        DateTime d2 = new DateTime(2023, 1, 15, 10, 30, 0); 
        DateTime d3 = new DateTime(2023, 1, 15, 10, 30, 1); // 1 सेकंड अलग
        
        Console.WriteLine("d1.Equals(d2): " + d1.Equals(d2));  // True
        Console.WriteLine("d1.Equals(d3): " + d1.Equals(d3));  // False
        Console.WriteLine("d1 == d2: " + (d1 == d2));          // True (ऑपरेटर ओवरलोड)
    } 
}

महत्वपूर्ण: Kind प्रॉपर्टी का प्रभाव

DateTime utc = new DateTime(2023, 1, 1, 12, 0, 0, DateTimeKind.Utc);
DateTime local = new DateTime(2023, 1, 1, 12, 0, 0, DateTimeKind.Local);
DateTime unspecified = new DateTime(2023, 1, 1, 12, 0, 0, DateTimeKind.Unspecified);

Console.WriteLine("UTC == Local: " + utc.Equals(local));           // False (अलग Kind)
Console.WriteLine("UTC == Unspecified: " + utc.Equals(unspecified)); // False
Console.WriteLine("Ticks समान: " + (utc.Ticks == local.Ticks));    // True (समान टिक्स!)

मुख्य बिंदु

  • दो DateTime तभी समान होते हैं जब Ticks और Kind दोनों समान हों
  • स्टैटिक DateTime.Equals(d1, d2) null-सेफ है
  • ऑपरेटर == और != भी ओवरलोडेड हैं और Equals() जैसा व्यवहार करते हैं
  • केवल टिक्स की तुलना के लिए d1.Ticks == d2.Ticks का उपयोग करें (Kind अनदेखा करने के लिए)
  • समय क्षेत्र जागरूक तुलना के लिए DateTimeOffset का उपयोग करें
  1. - C# में DateTime.Subtract() मेथड - तिथि/समय घटाएं

    C# में DateTime.Subtract() मेथड निर्दिष्ट DateTime या TimeSpan को वर्तमान इंस्टेंस से घटाता है। इसके दो ओवरलोड हैं जो अलग-अलग प्रकार लौटाते हैं। सिंटैक्स दो ओवरलोड: public TimeSpan Subtract (DateTime value); // DateTime घटाएं → TimeSpan लौटाता है public DateTime Subtract (TimeSpan value); //

  1. - C# में DateTime.AddYears() विधि

    C# में DateTime.AddYears() विधि का उपयोग इस इंस्टेंस के मान में निर्दिष्ट वर्षों की संख्या जोड़ने के लिए किया जाता है। यह एक नया DateTime लौटाता है। सिंटैक्स public DateTime AddYears (int yrs); यहां, yrs जोड़े जाने वाले वर्ष हैं। यदि आप वर्ष घटाना चाहते हैं, तो नकारात्मक मान का उपयोग करें। उदाहरण आइ

  1. - C# में DateTime.AddHours() मेथड

    C# में DateTime.AddHours() मेथड का उपयोग इस इंस्टेंस के मान में निर्दिष्ट संख्या में घंटे जोड़ने के लिए किया जाता है। यह मेथड एक नया DateTime लौटाता है। सिंटैक्स निम्नलिखित सिंटैक्स है - public DateTime AddHours (double hrs); यहां, hrs जोड़े जाने वाले घंटों की संख्या है। मान घंटे घटाने के लिए नकारा