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

C# में दो TimeSpan घटाना


C# में दो TimeSpan मानों को घटाने के लिए Subtract() मेथड या - ऑपरेटर का उपयोग किया जाता है। परिणाम एक नया TimeSpan होता है जो दोनों अवधियों का अंतर दर्शाता है।

उदाहरण

using System;

public class Demo
{
    public static void Main()
    {
        // दो TimeSpan बनाएं
        TimeSpan t1 = TimeSpan.FromMinutes(2);  // 00:02:00
        TimeSpan t2 = TimeSpan.FromMinutes(1);  // 00:01:00
        
        Console.WriteLine($"पहला TimeSpan: {t1}");
        Console.WriteLine($"दूसरा TimeSpan: {t2}");
        
        // विधि 1: Subtract() मेथड
        TimeSpan result1 = t1.Subtract(t2);
        
        // विधि 2: - ऑपरेटर (अधिक पठनीय)
        TimeSpan result2 = t1 - t2;
        
        Console.WriteLine($"\nSubtract() मेथड से परिणाम: {result1}");
        Console.WriteLine($"- ऑपरेटर से परिणाम: {result2}");
        Console.WriteLine($"दोनों समान: {result1 == result2}");
    }
}

आउटपुट

पहला TimeSpan: 00:02:00
दूसरा TimeSpan: 00:01:00

Subtract() मेथड से परिणाम: 00:01:00
- ऑपरेटर से परिणाम: 00:01:00
दोनों समान: True

विभिन्न TimeSpan संक्रियाएं (पूर्ण)

using System;

public class Demo
{
    public static void Main()
    {
        TimeSpan t1 = TimeSpan.FromHours(3);      // 03:00:00
        TimeSpan t2 = TimeSpan.FromMinutes(90);   // 01:30:00
        
        Console.WriteLine($"t1: {t1}");
        Console.WriteLine($"t2: {t2}");
        Console.WriteLine();
        
        // जोड़
        Console.WriteLine($"t1 + t2 = {t1 + t2}");        // 04:30:00
        
        // घटाव
        Console.WriteLine($"t1 - t2 = {t1 - t2}");        // 01:30:00
        Console.WriteLine($"t2 - t1 = {t2 - t1}");        // -01:30:00
        
        // गुणा (स्केलर) - .NET 6+
        // Console.WriteLine($"t1 * 2 = {t1 * 2}");       // 06:00:00
        
        // भाग (स्केलर)
        Console.WriteLine($"t1 / 2 = {t1 / 2}");          // 01:30:00
        
        // भाग (TimeSpan से) - अनुपात लौटाता है (double)
        Console.WriteLine($"t1 / t2 = {t1 / t2}");        // 2.0
        
        // तुलना
        Console.WriteLine($"\nt1 > t2: {t1 > t2}");       // True
        Console.WriteLine($"t1 < t2: {t1 < t2}");         // False
        Console.WriteLine($"t1 == t2: {t1 == t2}");       // False
        
        // अवधि (Duration) - हमेशा धनात्मक
        Console.WriteLine($"t1.Duration(): {t1.Duration()}"); // 03:00:00
        Console.WriteLine($"t2.Duration(): {t2.Duration()}"); // 01:30:00
        Console.WriteLine($"(t2 - t1).Duration(): {(t2 - t1).Duration()}"); // 01:30:00
    }
}

आउटपुट

t1: 03:00:00
t2: 01:30:00

t1 + t2 = 04:30:00
t1 - t2 = 01:30:00
t2 - t1 = -01:30:00
t1 / 2 = 01:30:00
t1 / t2 = 2
t1 > t2: True
t1 < t2: False
t1 == t2: False
t1.Duration(): 03:00:00
t2.Duration(): 01:30:00
(t2 - t1).Duration(): 01:30:00

व्यावहारिक उदाहरण: समय अंतराल गणना

using System;

public class Demo
{
    public static void Main()
    {
        // कार्य प्रारंभ और समाप्ति समय
        DateTime start = new DateTime(2024, 1, 15, 9, 0, 0);   // 9:00 AM
        DateTime end = new DateTime(2024, 1, 15, 17, 30, 0);   // 5:30 PM
        
        TimeSpan workDuration = end - start;
        TimeSpan lunchBreak = TimeSpan.FromHours(1);
        
        // शुद्ध कार्य समय
        TimeSpan netWorkTime = workDuration - lunchBreak;
        
        Console.WriteLine($"कार्य प्रारंभ: {start:t}");
        Console.WriteLine($"कार्य समाप्ति: {end:t}");
        Console.WriteLine($"कुल अवधि: {workDuration}");
        Console.WriteLine($"लंच ब्रेक: {lunchBreak}");
        Console.WriteLine($"शुद्ध कार्य समय: {netWorkTime}");
        
        // ओवरटाइम जांच (8 घंटे मानक)
        TimeSpan standardHours = TimeSpan.FromHours(8);
        if (netWorkTime > standardHours)
        {
            TimeSpan overtime = netWorkTime - standardHours;
            Console.WriteLine($"ओवरटाइम: {overtime}");
        }
        else
        {
            Console.WriteLine("कोई ओवरटाइम नहीं");
        }
    }
}

आउटपुट

कार्य प्रारंभ: 9:00 AM
कार्य समाप्ति: 5:30 PM
कुल अवधि: 08:30:00
लंच ब्रेक: 01:00:00
शुद्ध कार्य समय: 07:30:00
कोई ओवरटाइम नहीं

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

  • TimeSpan अपरिवर्तनीय (immutable) है - संक्रियाएं नया इंस्टेंस बनाती हैं
  • Subtract() और - ऑपरेटर समान काम करते हैं
  • परिणाम ऋणात्मक हो सकता है (यदि दूसरा TimeSpan बड़ा है)
  • Duration() निरपेक्ष मान (absolute value) लौटाता है
  • ओवरफ्लो/अंडरफ्लो पर OverflowException फेंका जाता है
  • TimeSpan.Zero योगात्मक पहचान है
  1. - C में दो सम्मिश्र संख्याओं को जोड़ने का प्रोग्राम

    दो सम्मिश्र संख्याएं a1 + ib1 और a2 + ib2 के रूप में दी गई हैं, कार्य इन दो सम्मिश्र संख्याओं को जोड़ना है। सम्मिश्र संख्याएं वे संख्याएं हैं जिन्हें a+ib के रूप में व्यक्त किया जा सकता है जहां a और b वास्तविक संख्याएं हैं और i काल्पनिक संख्या है जो व्यंजक x2 = -1 का हल है क्योंकि कोई वास्तविक संख्य

  1. - C में दो भिन्नों की तुलना करने का प्रोग्राम

    कुछ अंश nume1 और nume2 और उनके संबंधित हर deno1 और deno2 के साथ दो भिन्न दिए गए हैं, कार्य दोनों भिन्नों की तुलना करना और बड़ा वाला ढूंढना है। जैसे हमारे पास भिन्न 1/2 और 2/3 हैं और बड़ा वाला 2/3 है क्योंकि 1/2 का मान 0.5 है और 2/3 का मान 0.66667 है जो अधिक है। इनपुट first.nume = 2, first.deno = 3 s

  1. C प्रोग्राम में 3D में दो तल के बीच का कोण C प्रोग्राम में 3D में दो तल के बीच का कोण

    समस्या विवरण यहां हम त्रि-आयामी स्थान में दो तल के बीच का कोण गणना करना देखेंगे। तल P1 और P2 हैं। Pi के समीकरण इस प्रकार हैं: a₁x + b₁y + c₁z + d₁ = 0 a₂x + b₂y + c₂z + d₂ = 0 सूत्र यदि कोण A है, तो: cos A = |a₁a₂ + b₁b₂ + c₁c₂| / (√(a₁²+b₁²+c₁²) * √(a₂²+b₂²+c₂²)) C++ प्रोग्राम उदाहरण d = d;