C# में TimeSpan संरचना समय अवधि गणनाओं के लिए कई उपयोगी स्थैतिक (static) स्थिरांक (constants) प्रदान करती है जो प्रति दिन, घंटा, मिनट, सेकंड, और मिलीसेकंड टिक्स की संख्या दर्शाते हैं। एक टिक 100 नैनोसेकंड (0.1 माइक्रोसेकंड) के बराबर होता है।
उपलब्ध स्थिरांक
| स्थिरांक | मान | विवरण |
|---|---|---|
TimeSpan.TicksPerDay | 864,000,000,000 | एक दिन में टिक्स (24 × 60 × 60 × 10,000,000) |
TimeSpan.TicksPerHour | 36,000,000,000 | एक घंटे में टिक्स (60 × 60 × 10,000,000) |
TimeSpan.TicksPerMinute | 600,000,000 | एक मिनट में टिक्स (60 × 10,000,000) |
TimeSpan.TicksPerSecond | 10,000,000 | एक सेकंड में टिक्स (10 मिलियन) |
TimeSpan.TicksPerMillisecond | 10,000 | एक मिलीसेकंड में टिक्स |
उदाहरण
using System;
public class Demo
{
public static void Main()
{
Console.WriteLine("TimeSpan टिक्स स्थिरांक:");
Console.WriteLine(new string('-', 40));
Console.WriteLine($"TicksPerDay: {TimeSpan.TicksPerDay:N0}");
Console.WriteLine($"TicksPerHour: {TimeSpan.TicksPerHour:N0}");
Console.WriteLine($"TicksPerMinute: {TimeSpan.TicksPerMinute:N0}");
Console.WriteLine($"TicksPerSecond: {TimeSpan.TicksPerSecond:N0}");
Console.WriteLine($"TicksPerMillisecond: {TimeSpan.TicksPerMillisecond:N0}");
// सत्यापन
Console.WriteLine("\nसत्यापन:");
Console.WriteLine($"TicksPerHour × 24 = {TimeSpan.TicksPerHour * 24:N0} == TicksPerDay: {TimeSpan.TicksPerHour * 24 == TimeSpan.TicksPerDay}");
Console.WriteLine($"TicksPerMinute × 60 = {TimeSpan.TicksPerMinute * 60:N0} == TicksPerHour: {TimeSpan.TicksPerMinute * 60 == TimeSpan.TicksPerHour}");
Console.WriteLine($"TicksPerSecond × 60 = {TimeSpan.TicksPerSecond * 60:N0} == TicksPerMinute: {TimeSpan.TicksPerSecond * 60 == TimeSpan.TicksPerMinute}");
Console.WriteLine($"TicksPerMillisecond × 1000 = {TimeSpan.TicksPerMillisecond * 1000:N0} == TicksPerSecond: {TimeSpan.TicksPerMillisecond * 1000 == TimeSpan.TicksPerSecond}");
}
}
आउटपुट
TimeSpan टिक्स स्थिरांक: ---------------------------------------- TicksPerDay: 864,000,000,000 TicksPerHour: 36,000,000,000 TicksPerMinute: 600,000,000 TicksPerSecond: 10,000,000 TicksPerMillisecond: 10,000 सत्यापन: TicksPerHour × 24 = 864,000,000,000 == TicksPerDay: True TicksPerMinute × 60 = 36,000,000,000 == TicksPerHour: True TicksPerSecond × 60 = 600,000,000 == TicksPerMinute: True TicksPerMillisecond × 1000 = 10,000,000 == TicksPerSecond: True
व्यावहारिक उपयोग: टिक्स से TimeSpan बनाना
using System;
public class Demo
{
public static void Main()
{
// 2 दिन, 3 घंटे, 30 मिनट के टिक्स की गणना
long ticks = 2 * TimeSpan.TicksPerDay +
3 * TimeSpan.TicksPerHour +
30 * TimeSpan.TicksPerMinute;
TimeSpan duration = new TimeSpan(ticks);
Console.WriteLine($"गणना की गई अवधि: {duration}"); // 2.03:30:00
// टिक्स से रूपांतरण
long someTicks = 1234567890123;
TimeSpan ts = new TimeSpan(someTicks);
Console.WriteLine($"\nटिक्स: {someTicks:N0}");
Console.WriteLine($"TimeSpan: {ts}");
Console.WriteLine($"दिन: {ts.Days}, घंटे: {ts.Hours}, मिनट: {ts.Minutes}, सेकंड: {ts.Seconds}");
Console.WriteLine($"मिलीसेकंड: {ts.Milliseconds}");
}
}
आउटपुट
गणना की गई अवधि: 2.03:30:00 टिक्स: 1,234,567,890,123 TimeSpan: 14.06:56:18.9012300 दिन: 14, घंटे: 6, मिनट: 56, सेकंड: 18 मिलीसेकंड: 901
टिक्स का उपयोग करके कस्टम TimeSpan संक्रियाएं
using System;
public class Demo
{
public static void Main()
{
TimeSpan t1 = TimeSpan.FromHours(2.5); // 2:30:00
TimeSpan t2 = TimeSpan.FromMinutes(90); // 1:30:00
// टिक्स स्तर पर जोड़
long totalTicks = t1.Ticks + t2.Ticks;
TimeSpan sum = new TimeSpan(totalTicks);
Console.WriteLine($"t1: {t1}");
Console.WriteLine($"t2: {t2}");
Console.WriteLine($"योग (टिक्स से): {sum}"); // 04:00:00
// औसत TimeSpan
TimeSpan average = new TimeSpan((t1.Ticks + t2.Ticks) / 2);
Console.WriteLine($"औसत: {average}"); // 02:00:00
}
}
महत्वपूर्ण बिंदु
- 1 टिक = 100 नैनोसेकंड = 0.1 माइक्रोसेकंड = 0.0001 मिलीसेकंड
- ये स्थिरांक
const longहैं - कंपाइल-टाइम स्थिरांक - उच्च-प्रदर्शन समय गणनाओं के लिए उपयोगी
TimeSpan.Ticksप्रॉपर्टी किसी विशिष्ट TimeSpan इंस्टेंस के टिक्स लौटाती है- डेटाबेस टाइमस्टैम्प, लॉगिंग, उच्च-रिज़ॉल्यूशन टाइमिंग में उपयोगी