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

C# में DateTimeOffset.EqualsExact() मेथड - सटीक समय और ऑफसेट तुलना

C# में DateTimeOffset.EqualsExact() मेथड यह निर्धारित करता है कि वर्तमान DateTimeOffset ऑब्जेक्ट समान समय दर्शाता है और समान ऑफसेट है या नहीं, किसी निर्दिष्ट DateTimeOffset ऑब्जेक्ट के साथ।

सिंटैक्स

public bool EqualsExact (DateTimeOffset val);

पैरामीटर val तुलना के लिए ऑब्जेक्ट है।

Equals() बनाम EqualsExact()

मेथडतुलनाउदाहरण
Equals()UTC समय तुल्यता (ऑफसेट अनदेखा)2023-01-01 12:00 +05:00 == 2023-01-01 07:00 +00:00 → True
EqualsExact()सटीक समय + सटीक ऑफसेट2023-01-01 12:00 +05:00 == 2023-01-01 07:00 +00:00 → False

उदाहरण 1: समान समय और ऑफसेट

using System; 

public class Demo 
{ 
    public static void Main() 
    { 
        DateTimeOffset dateTimeOffset1 = new DateTimeOffset(2019, 11, 09, 5, 30, 10, new TimeSpan(-5, 0, 0)); 
        DateTimeOffset dateTimeOffset2 = new DateTimeOffset(2019, 11, 09, 5, 30, 10, new TimeSpan(-5, 0, 0)); 
        
        Console.WriteLine("DateTimeOffset1 = {0}", dateTimeOffset1); 
        Console.WriteLine("DateTimeOffset2 = {0}", dateTimeOffset2); 
        
        bool res = dateTimeOffset1.EqualsExact(dateTimeOffset2); 
        
        if (res)
            Console.Write("DateTimeOffset1 = DateTimeOffset2"); 
        else 
            Console.Write("DateTimeOffset1 and DateTimeOffset2 are different"); 
    } 
}

आउटपुट

DateTimeOffset1 = 11/9/2019 5:30:10 AM -05:00
DateTimeOffset2 = 11/9/2019 5:30:10 AM -05:00
DateTimeOffset1 = DateTimeOffset2

उदाहरण 2: अलग समय/ऑफसेट

using System; 

public class Demo 
{ 
    public static void Main() 
    { 
        DateTimeOffset dateTimeOffset1 = new DateTimeOffset(2019, 09, 09, 5, 30, 10, new TimeSpan(-5, 0, 0)); 
        DateTimeOffset dateTimeOffset2 = new DateTimeOffset(2019, 11, 09, 9, 20, 20, new TimeSpan(-5, 0, 0)); 
        
        Console.WriteLine("DateTimeOffset1 = {0}", dateTimeOffset1); 
        Console.WriteLine("DateTimeOffset2 = {0}", dateTimeOffset2); 
        
        bool res = dateTimeOffset1.EqualsExact(dateTimeOffset2); 
        
        if (res) 
            Console.Write("DateTimeOffset1 = DateTimeOffset2"); 
        else 
            Console.Write("DateTimeOffset1 and DateTimeOffset2 are different"); 
    } 
}

आउटपुट

DateTimeOffset1 = 9/9/2019 5:30:10 AM -05:00
DateTimeOffset2 = 11/9/2019 9:20:20 AM -05:00
DateTimeOffset1 and DateTimeOffset2 are different

उदाहरण 3: समान UTC समय, अलग ऑफसेट

using System; 

public class Demo 
{ 
    public static void Main() 
    { 
        // समान क्षण, अलग ऑफसेट
        DateTimeOffset dto1 = new DateTimeOffset(2023, 1, 1, 12, 0, 0, TimeSpan.Zero);      // UTC
        DateTimeOffset dto2 = new DateTimeOffset(2023, 1, 1, 17, 30, 0, new TimeSpan(5, 30, 0)); // IST (UTC+5:30)
        
        Console.WriteLine("dto1: " + dto1); // 1/1/2023 12:00:00 PM +00:00
        Console.WriteLine("dto2: " + dto2); // 1/1/2023 5:30:00 PM +05:30
        Console.WriteLine("Equals(): " + dto1.Equals(dto2));       // True (समान क्षण)
        Console.WriteLine("EqualsExact(): " + dto1.EqualsExact(dto2)); // False (अलग ऑफसेट)
    } 
}

मुख्य बिंदु

  • EqualsExact() दोनों DateTime और Offset गुणों की तुलना करता है
  • Equals() केवल UTC समय की तुलना करता है (ऑफसेट अनदेखा)
  • जब ऑफसेट संरक्षण महत्वपूर्ण हो (लॉगिंग, ऑडिट, समय क्षेत्र-विशिष्ट डेटा)
  • IEquatable<DateTimeOffset> लागू करता है लेकिन EqualsExact अलग मेथड है
  • ऑपरेटर == Equals() व्यवहार का उपयोग करता है (UTC तुल्यता)

उपयोग के मामले

  • लॉग एंट्री तुलना जहां मूल समय क्षेत्र मायने रखता है
  • निर्धारित कार्य जहां स्थानीय समय ऑफसेट संरक्षित रहना चाहिए
  • डेटाबेस टाइमस्टैम्प तुलना जहां ऑफसेट कॉलम अलग से संग्रहीत है
  • टेस्टिंग: अपेक्षित DateTimeOffset मान की सटीक पुष्टि
  1. - C# में DateTimeOffset.FromFileTime() विधि

    C# में DateTimeOffset.FromFileTime() विधि का उपयोग निर्दिष्ट विंडोज फाइल समय को समतुल्य स्थानीय समय में बदलने के लिए किया जाता है। सिंटैक्स public static DateTimeOffset FromFileTime (long time); यहां, time विंडोज फाइल समय है, टिक्स में। उदाहरण आइए DateTimeOffset.FromFileTime() विधि को लागू करने का ए

  1. - C# में DateTimeOffset.Compare() मेथड

    C# में DateTimeOffset.Compare() मेथड का उपयोग दो DateTimeOffset ऑब्जेक्ट्स की तुलना करने के लिए किया जाता है और यह दर्शाता है कि पहला दूसरे से पहले है, बराबर है, या बाद में है। यह एक पूर्णांक मान लौटाता है: <0 - यदि val1, val2 से पहले है 0 - यदि val1, val2 के समान है >0 - यदि val1, val2 के ब

  1. - C# में DateTimeOffset.AddYears() मेथड

    C# में DateTimeOffset.AddYears() मेथड का उपयोग इस इंस्टेंस के मान में निर्दिष्ट संख्या में वर्ष जोड़ने के लिए किया जाता है। सिंटैक्स निम्नलिखित सिंटैक्स है - public DateTimeOffset AddYears (int val); यहां, Val पैरामीटर ऑफसेट में जोड़े जाने वाले वर्ष हैं। घटाने के लिए, आपको नकारात्मक मान सेट करने हो