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

C# में DateTimeOffset.CompareTo() मेथड - DateTimeOffset तुलना

C# में DateTimeOffset.CompareTo() मेथड वर्तमान DateTimeOffset ऑब्जेक्ट की तुलना निर्दिष्ट DateTimeOffset ऑब्जेक्ट से करता है और इंगित करता है कि वर्तमान ऑब्जेक्ट दूसरे से पहले, समान, या बाद में है।

वापसी मान

  • < 0 - यदि यह ऑब्जेक्ट val से पहले है
  • 0 - यदि यह ऑब्जेक्ट val के समान है
  • > 0 - यदि यह ऑब्जेक्ट val से बाद में है

नोट: तुलना UTC समय पर आधारित है, ऑफसेट पर नहीं।

सिंटैक्स

public int CompareTo (DateTimeOffset val);

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

उदाहरण 1: समान DateTimeOffset

using System; 

public class Demo 
{ 
    public static void Main() 
    { 
        DateTimeOffset dateTimeOffset1 = new DateTimeOffset(2019, 09, 09, 8, 20, 10, new TimeSpan(-5, 0, 0)); 
        DateTimeOffset dateTimeOffset2 = new DateTimeOffset(2019, 09, 09, 8, 20, 10, new TimeSpan(-5, 0, 0)); 
        
        Console.WriteLine("DateTimeOffset1 = {0}", dateTimeOffset1); 
        Console.WriteLine("DateTimeOffset2 = {0}", dateTimeOffset2); 
        
        int res = dateTimeOffset1.CompareTo(dateTimeOffset2); 
        // 0 लौटाता है क्योंकि offset1, offset2 के समान है
        Console.WriteLine(res); 
    } 
}

आउटपुट

DateTimeOffset1 = 9/9/2019 8:20:10 AM -05:00
DateTimeOffset2 = 9/9/2019 8:20:10 AM -05:00
0

उदाहरण 2: बाद की तिथि

using System; 

public class Demo 
{ 
    public static void Main() 
    { 
        DateTimeOffset dateTimeOffset1 = new DateTimeOffset(2019, 11, 09, 8, 20, 10, new TimeSpan(-5, 0, 0)); 
        DateTimeOffset dateTimeOffset2 = new DateTimeOffset(2019, 09, 09, 8, 20, 10, new TimeSpan(-5, 0, 0)); 
        
        Console.WriteLine("DateTimeOffset1 = {0}", dateTimeOffset1); 
        Console.WriteLine("DateTimeOffset2 = {0}", dateTimeOffset2); 
        
        int res = dateTimeOffset1.CompareTo(dateTimeOffset2); 
        // >0 लौटाता है क्योंकि DateTimeOffset1, DateTimeOffset2 से बाद में है
        Console.WriteLine(res); 
    } 
}

आउटपुट

DateTimeOffset1 = 11/9/2019 8:20:10 AM -05:00
DateTimeOffset2 = 9/9/2019 8:20:10 AM -05:00
1

उदाहरण 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
        
        Console.WriteLine("dto1 (UTC): " + dto1);
        Console.WriteLine("dto2 (IST): " + dto2);
        Console.WriteLine("CompareTo: " + dto1.CompareTo(dto2)); // 0 (समान UTC क्षण!)
        Console.WriteLine("EqualsExact: " + dto1.EqualsExact(dto2)); // False (अलग ऑफसेट)
    } 
}

आउटपुट

dto1 (UTC): 1/1/2023 12:00:00 PM +00:00
dto2 (IST): 1/1/2023 5:30:00 PM +05:30
CompareTo: 0
EqualsExact: False

CompareTo बनाम Equals/EqualsExact

मेथडतुलना आधारवापसी प्रकारउपयोग
CompareTo()UTC समय (क्रम)int (-1, 0, 1)सॉर्टिंग, क्रम जांच
Equals()UTC समय (समानता)boolसमान क्षण जांच
EqualsExact()UTC समय + ऑफसेटboolसटीक प्रतिनिधित्व जांच

मुख्य बिंदु

  • IComparable<DateTimeOffset> इंटरफेस लागू करता है
  • तुलना केवल UTC समय पर आधारित है - ऑफसेट अनदेखा किया जाता है
  • समान UTC क्षण वाले अलग-अलग ऑफसेट के DateTimeOffset समान माने जाते हैं (CompareTo = 0)
  • null के लिए ArgumentException फेंकता है
  • सरणी/सूची सॉर्टिंग के लिए सीधे उपयोगी: list.Sort() या Array.Sort()
  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 पैरामीटर ऑफसेट में जोड़े जाने वाले वर्ष हैं। घटाने के लिए, आपको नकारात्मक मान सेट करने हो

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

    दो मानों की तुलना करने के लिए, CompareTo() विधि का उपयोग करें। निम्न वापसी मान हैं: 0 = दोनों संख्याएं बराबर हैं 1 = दूसरी संख्या छोटी है -1 = पहली संख्या छोटी है C# में CompareTo() विधि को लागू करने का कोड यहां है: उदाहरण using System; public class Demo { public static void Main() {