C# में दो TimeSpan मानों को जोड़ने के लिए Add() मेथड या + ऑपरेटर का उपयोग किया जाता है। परिणाम एक नया TimeSpan होता है जो दोनों अवधियों का योग दर्शाता है।
उदाहरण
using System;
public class Demo
{
public static void Main()
{
// दो TimeSpan बनाएं
TimeSpan t1 = TimeSpan.FromMinutes(1); // 00:01:00
TimeSpan t2 = TimeSpan.FromMinutes(2); // 00:02:00
Console.WriteLine($"पहला TimeSpan: {t1}");
Console.WriteLine($"दूसरा TimeSpan: {t2}");
// विधि 1: Add() मेथड
TimeSpan result1 = t1.Add(t2);
// विधि 2: + ऑपरेटर (अधिक पठनीय)
TimeSpan result2 = t1 + t2;
Console.WriteLine($"\nAdd() मेथड से परिणाम: {result1}");
Console.WriteLine($"+ ऑपरेटर से परिणाम: {result2}");
Console.WriteLine($"दोनों समान: {result1 == result2}");
}
}
आउटपुट
पहला TimeSpan: 00:01:00 दूसरा TimeSpan: 00:02:00 Add() मेथड से परिणाम: 00:03:00 + ऑपरेटर से परिणाम: 00:03:00 दोनों समान: True
विभिन्न TimeSpan संक्रियाएं
using System;
public class Demo
{
public static void Main()
{
TimeSpan t1 = TimeSpan.FromHours(2); // 02: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}"); // 03:30:00
// घटाव
Console.WriteLine($"t1 - t2 = {t1 - t2}"); // 00:30:00
Console.WriteLine($"t2 - t1 = {t2 - t1}"); // -00:30:00
// गुणा (केवल .NET 6+ / C# 10+)
// Console.WriteLine($"t1 * 2 = {t1 * 2}"); // 04:00:00
// भाग
Console.WriteLine($"t1 / 2 = {t1 / 2}"); // 01:00:00
Console.WriteLine($"t1 / t2 = {t1 / t2}"); // 1.333... (double)
// तुलना
Console.WriteLine($"\nt1 > t2: {t1 > t2}"); // True
Console.WriteLine($"t1 == t2: {t1 == t2}"); // False
Console.WriteLine($"t1.CompareTo(t2): {t1.CompareTo(t2)}"); // 1
}
}
आउटपुट
t1: 02:00:00 t2: 01:30:00 t1 + t2 = 03:30:00 t1 - t2 = 00:30:00 t2 - t1 = -00:30:00 t1 / 2 = 01:00:00 t1 / t2 = 1.33333333333333 t1 > t2: True t1 == t2: False t1.CompareTo(t2): 1
TimeSpan.From* फैक्टरी मेथड्स
| मेथड | विवरण | उदाहरण |
|---|---|---|
FromDays(double) | दिनों से TimeSpan | FromDays(1.5) = 1.12:00:00 |
FromHours(double) | घंटों से TimeSpan | FromHours(2.5) = 02:30:00 |
FromMinutes(double) | मिनटों से TimeSpan | FromMinutes(90) = 01:30:00 |
FromSeconds(double) | सेकंड से TimeSpan | FromSeconds(90) = 00:01:30 |
FromMilliseconds(double) | मिलीसेकंड से TimeSpan | FromMilliseconds(1500) = 00:00:01.500 |
FromTicks(long) | टिक्स से TimeSpan | FromTicks(10000000) = 00:00:01 |
एकाधिक TimeSpan जोड़ना
using System;
using System.Linq;
public class Demo
{
public static void Main()
{
TimeSpan[] periods =
{
TimeSpan.FromHours(1),
TimeSpan.FromMinutes(30),
TimeSpan.FromSeconds(45),
TimeSpan.FromMilliseconds(500)
};
// LINQ Aggregate से जोड़ें
TimeSpan total = periods.Aggregate(TimeSpan.Zero, (acc, ts) => acc + ts);
Console.WriteLine($"कुल अवधि: {total}"); // 01:30:45.5000000
// या सरल लूप
TimeSpan sum = TimeSpan.Zero;
foreach (var ts in periods)
sum += ts;
Console.WriteLine($"लूप से योग: {sum}");
}
}
महत्वपूर्ण बिंदु
TimeSpanअपरिवर्तनीय (immutable) है - संक्रियाएं नया इंस्टेंस लौटाती हैंAdd()और+ऑपरेटर समान काम करते हैं- परिणाम
TimeSpan.MaxValueसे अधिक होने परOverflowExceptionफेंका जाता है - ऋणात्मक TimeSpan भी जोड़े जा सकते हैं
TimeSpan.Zeroयोगात्मक पहचान (additive identity) है