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

C# में TimeSpan.From* मेथड्स का उपयोग


C# में TimeSpan संरचना समय अवधि बनाने के लिए कई स्थैतिक फैक्टरी मेथड्स (From*) प्रदान करती है। ये मेथड्स विभिन्न समय इकाइयों (दिन, घंटे, मिनट, सेकंड, मिलीसेकंड, टिक्स) से TimeSpan ऑब्जेक्ट बनाते हैं।

उपलब्ध From* मेथड्स

मेथडपैरामीटरविवरण
FromDays(double)दिन (भिन्नात्मक)दिनों से TimeSpan
FromHours(double)घंटे (भिन्नात्मक)घंटों से TimeSpan
FromMinutes(double)मिनट (भिन्नात्मक)मिनटों से TimeSpan
FromSeconds(double)सेकंड (भिन्नात्मक)सेकंड से TimeSpan
FromMilliseconds(double)मिलीसेकंड (भिन्नात्मक)मिलीसेकंड से TimeSpan
FromTicks(long)टिक्स (100ns इकाइयां)टिक्स से TimeSpan

उदाहरण

using System;

public class Demo
{
    public static void Main()
    {
        // विभिन्न From* मेथड्स
        TimeSpan t1 = TimeSpan.FromDays(1);        // 1 दिन
        TimeSpan t2 = TimeSpan.FromHours(1);       // 1 घंटा
        TimeSpan t3 = TimeSpan.FromMinutes(1);     // 1 मिनट
        TimeSpan t4 = TimeSpan.FromSeconds(1);     // 1 सेकंड
        TimeSpan t5 = TimeSpan.FromMilliseconds(1); // 1 मिलीसेकंड
        TimeSpan t6 = TimeSpan.FromTicks(10000000); // 1 सेकंड (10M टिक्स)
        
        Console.WriteLine("TimeSpan.From* मेथड्स:");
        Console.WriteLine(new string('-', 40));
        Console.WriteLine($"FromDays(1):        {t1}");
        Console.WriteLine($"FromHours(1):       {t2}");
        Console.WriteLine($"FromMinutes(1):     {t3}");
        Console.WriteLine($"FromSeconds(1):     {t4}");
        Console.WriteLine($"FromMilliseconds(1): {t5}");
        Console.WriteLine($"FromTicks(10000000): {t6}");
        
        // भिन्नात्मक मान
        Console.WriteLine("\nभिन्नात्मक मान:");
        Console.WriteLine($"FromDays(1.5):      {TimeSpan.FromDays(1.5)}");      // 1.12:00:00
        Console.WriteLine($"FromHours(2.5):     {TimeSpan.FromHours(2.5)}");     // 02:30:00
        Console.WriteLine($"FromMinutes(90.5):  {TimeSpan.FromMinutes(90.5)}");  // 01:30:30
        Console.WriteLine($"FromSeconds(1.5):   {TimeSpan.FromSeconds(1.5)}");   // 00:00:01.500
    }
}

आउटपुट

TimeSpan.From* मेथड्स:
----------------------------------------
FromDays(1):        1.00:00:00
FromHours(1):       01:00:00
FromMinutes(1):     00:01:00
FromSeconds(1):     00:00:01
FromMilliseconds(1): 00:00:00.0010000
FromTicks(10000000): 00:00:01

भिन्नात्मक मान:
FromDays(1.5):      1.12:00:00
FromHours(2.5):     02:30:00
FromMinutes(90.5):  01:30:30
FromSeconds(1.5):   00:00:01.5000000

व्यावहारिक उदाहरण

using System;

public class Demo
{
    public static void Main()
    {
        // कॉन्फिगरेशन से टाइमआउट बनाना
        int timeoutMinutes = 30;
        TimeSpan timeout = TimeSpan.FromMinutes(timeoutMinutes);
        Console.WriteLine($"टाइमआउट: {timeout}");
        
        // रिट्री डिले
        double retryDelaySeconds = 2.5;
        TimeSpan retryDelay = TimeSpan.FromSeconds(retryDelaySeconds);
        Console.WriteLine($"रिट्री डिले: {retryDelay}");
        
        // कैश समाप्ति
        int cacheHours = 24;
        TimeSpan cacheExpiry = TimeSpan.FromHours(cacheHours);
        Console.WriteLine($"कैश समाप्ति: {cacheExpiry}");
        
        // बेंचमार्किंग
        long elapsedTicks = 1234567890;
        TimeSpan elapsed = TimeSpan.FromTicks(elapsedTicks);
        Console.WriteLine($"बीता समय: {elapsed}");
        
        // दो TimeSpan की तुलना
        TimeSpan t1 = TimeSpan.FromMinutes(5);
        TimeSpan t2 = TimeSpan.FromSeconds(300); // 5 मिनट = 300 सेकंड
        
        Console.WriteLine($"\nt1 (5 मिनट): {t1}");
        Console.WriteLine($"t2 (300 सेकंड): {t2}");
        Console.WriteLine($"समान: {t1 == t2}"); // True
    }
}

आउटपुट

टाइमआउट: 00:30:00
रिट्री डिले: 00:00:02.5000000
कैश समाप्ति: 1.00:00:00
बीता समय: 14.06:56:18.9000000

t1 (5 मिनट): 00:05:00
t2 (300 सेकंड): 00:05:00
समान: True

पारंपरिक कंस्ट्रक्टर बनाम From* मेथड्स

// कंस्ट्रक्टर (पैरामीटर्स: दिन, घंटे, मिनट, सेकंड, मिलीसेकंड)
TimeSpan c1 = new TimeSpan(1, 2, 30, 45, 500); // 1.02:30:45.500

// From* मेथड्स (अधिक पठनीय और लचीले)
TimeSpan f1 = TimeSpan.FromDays(1) + TimeSpan.FromHours(2) + 
              TimeSpan.FromMinutes(30) + TimeSpan.FromSeconds(45) + 
              TimeSpan.FromMilliseconds(500);

Console.WriteLine(c1 == f1); // True

महत्वपूर्ण बिंदु

  • सभी From* मेथड्स double पैरामीटर लेते हैं (FromTicks को छोड़कर जो long लेता है)
  • भिन्नात्मक मान स्वचालित रूप से छोटी इकाइयों में बदल जाते हैं
  • FromDays(1.5) = 1 दिन + 12 घंटे
  • ऋणात्मक मान ऋणात्मक TimeSpan बनाते हैं
  • बहुत बड़े मानों के लिए OverflowException संभव है
  • पठनीयता के लिए कंस्ट्रक्टर के बजाय From* मेथड्स पसंद करें
  1. HTC से सैमसंग S20 में डेटा ट्रांसफर करने के 2 तरीके HTC से सैमसंग S20 में डेटा ट्रांसफर करने के 2 तरीके

    यदि आप HTC डिवाइस से सैमसंग S20 पर शिफ्ट करने की योजना बना रहे हैं, तो हम आपके निर्णय का सम्मान करते हैं। हालांकि, नए फोन के उत्साह के अलावा, आप अपने पहले के डिवाइस में पुराने डेटा के बारे में चिंतित हो सकते हैं। आप HTC से सैमसंग में डेटा ट्रांसफर करने के सर्वोत्तम तरीकों के बारे में सोच सकते हैं। य

  1. सैमसंग से Huawei में कॉन्टैक्ट ट्रांसफर करने के 4 तरीके सैमसंग से Huawei में कॉन्टैक्ट ट्रांसफर करने के 4 तरीके

    क्या आप हाल ही में सैमसंग से Huawei पर शिफ्ट हुए हैं? और फिर क्या आप सोच रहे हैं कि सैमसंग से Huawei में कॉन्टैक्ट कैसे ट्रांसफर करें? कॉन्टैक्ट, हमारे डिवाइस में सबसे महत्वपूर्ण कंटेंट होने के नाते, नया फोन खरीदते ही जल्द से जल्द ट्रांसफर करने की आवश्यकता होती है। आखिरकार, यह एकमात्र तरीका है जो हम

  1. एक्सेल में शून्य हटाने और डेटा साफ़ करने की 7 विशेषज्ञ तकनीकें एक्सेल में शून्य हटाने और डेटा साफ़ करने की 7 विशेषज्ञ तकनीकें

    इस लेख में, मैं चर्चा करूंगा कि एक्सेल से शून्य (0) कैसे हटाएं। अक्सर, जब हम हमारे द्वारा तैयार नहीं की गई स्प्रेडशीट के साथ काम करते हैं, तो हमें सेल में विभिन्न प्रकार के संख्या प्रारूपों का सामना करना पड़ता है। उदाहरण के लिए, फोन नंबर में अग्रणी शून्य हो सकते हैं। दूसरी ओर, कुछ सेल में केवल मान क