C# में TimeSpan को कस्टम प्रारूप (जैसे hh:mm:ss) में प्रदर्शित करने के लिए ToString() मेथड या कंपोजिट फॉर्मेटिंग का उपयोग किया जाता है।
उदाहरण
using System;
public class Demo
{
public static void Main()
{
// TimeSpan बनाएं (9 घंटे, 15 मिनट, 30 सेकंड)
TimeSpan ts = new TimeSpan(9, 15, 30);
// कस्टम फॉर्मेट स्ट्रिंग का उपयोग
Console.WriteLine($"डिफॉल्ट: {ts}");
Console.WriteLine($"HH:MM:SS: {ts:hh\\:mm\\:ss}");
Console.WriteLine($"H:M:S (सिंगल डिजिट): {ts:h\\:m\\:s}");
// कंपोजिट फॉर्मेटिंग
Console.WriteLine($"कंपोजिट: {0:hh\\:mm\\:ss}", ts);
// ToString() के साथ
Console.WriteLine($"ToString: {ts.ToString(@"hh\:mm\:ss")}");
}
}
आउटपुट
डिफॉल्ट: 09:15:30
HH:MM:SS: 09:15:30
H:M:S (सिंगल डिजिट): 9:15:30
कंपोजिट: 09:15:30
ToString: 09:15:30
TimeSpan फॉर्मेट स्पेसिफायर्स
| स्पेसिफायर | विवरण | उदाहरण (09:15:30.123 के लिए) |
h / hh | घंटे (0-23, 12-घंटा प्रारूप के लिए) | 9 / 09 |
m / mm | मिनट (0-59) | 15 |
s / ss | सेकंड (0-59) | 30 |
f / ff / fff... | सेकंड का भिन्नात्मक भाग (दशमलव अंक) | 1 / 12 / 123 |
F / FF... | f जैसा लेकिन अनुगामी शून्य दबाता है | 1 / 12 / 123 |
d / dd | दिन (कुल दिन) | 0 / 00 |
24 घंटे से अधिक के लिए फॉर्मेटिंग
using System;
public class Demo
{
public static void Main()
{
// 25 घंटे 30 मिनट
TimeSpan ts = new TimeSpan(25, 30, 0);
Console.WriteLine($"डिफॉल्ट: {ts}"); // 1.01:30:00
Console.WriteLine($"कुल घंटे: {ts.TotalHours}"); // 25.5
// कस्टम फॉर्मेट: कुल घंटे दिखाने के लिए
Console.WriteLine($"कुल घंटे: {ts.TotalHours:F1}:{ts:mm\\:ss}"); // 25.5:30:00
// या गणना करके
int totalHours = (int)ts.TotalHours;
Console.WriteLine($"कस्टम: {totalHours}:{ts:mm\\:ss}"); // 25:30:00
}
}
आउटपुट
डिफॉल्ट: 1.01:30:00
कुल घंटे: 25.5
कुल घंटे: 25.5:30:00
कस्टम: 25:30:00
मानक TimeSpan फॉर्मेट स्ट्रिंग्स
| स्पेसिफायर | नाम | उदाहरण |
c | निरंतर (constant) | 1.01:30:00 |
g | सामान्य संक्षिप्त | 1:01:30 |
G | सामान्य लंबा | 1:01:30:00.0000000 |
महत्वपूर्ण बिंदु
- कस्टम फॉर्मेट में कोलन (
:) को एस्केप करना आवश्यक है: \\: या @"\:"
hh 12-घंटा प्रारूप है; 24-घंटा के लिए HH का उपयोग नहीं किया जा सकता (TimeSpan 24-घंटा नहीं करता)
- 24 घंटे से अधिक के लिए
TotalHours, TotalMinutes आदि का उपयोग करें
TimeSpan ऋणात्मक भी हो सकता है - फॉर्मेटिंग में ऋण चिह्न शामिल होगा
@"hh\:mm\:ss" वर्बेटिम स्ट्रिंग में एस्केप करना आसान है