केवल गोल-यात्रा ("O", "o") प्रारूप विनिर्देशक का उपयोग क्यों नहीं करते ?
"O" या "O" मानक प्रारूप निर्दिष्टकर्ता एक पैटर्न का उपयोग करके एक कस्टम तिथि और समय प्रारूप स्ट्रिंग का प्रतिनिधित्व करता है जो समय क्षेत्र की जानकारी को संरक्षित करता है और एक परिणाम स्ट्रिंग का उत्सर्जन करता है जो आईएसओ 8601 का अनुपालन करता है। डेटाइम मानों के लिए, यह प्रारूप विनिर्देश तिथि निर्धारित करने के लिए डिज़ाइन किया गया है और पाठ में DateTime.Kind गुण के साथ समय मान। यदि स्वरूप पैरामीटर DateTimeStys.RoundtripKind पर सेट है, तो DateTime.Parse (स्ट्रिंग, IFormatProvider, DateTimeStyles) या DateTime.ParseExact विधि का उपयोग करके स्वरूपित स्ट्रिंग को वापस पार्स किया जा सकता है।
"O" या "o" मानक प्रारूप निर्दिष्टकर्ता "yyyy" - 'MM' - 'dd'T'HH': 'mm': 'ss' से मेल खाता है। ''ffffffK' 'DateTime मानों के लिए' 'कस्टम प्रारूप स्ट्रिंग' 'और' '। "yyyy '-' MM '-' dd'T'HH ':' mm ':' ss '।' fffffffzzz" DateTimeOffset मान के लिए कस्टम प्रारूप स्ट्रिंग। इस स्ट्रिंग में, एकल उद्धरण के जोड़े व्यक्तिगत वर्णों को चित्रित करते हैं, जैसे कि हाइफ़न, कॉलन और अक्षर "T", यह दर्शाता है कि व्यक्तिगत वर्ण एक शाब्दिक है जिसे बदला नहीं जा सकता है। एपोस्ट्रोफ आउटपुट स्ट्रिंग में दिखाई नहीं देते हैं।
ओ "या" ओ "मानक प्रारूप निर्दिष्टकर्ता (और" yyyy '-' MM '-' dd'T'HH ':' mm ':' ss '।' fffffffK "कस्टम प्रारूप स्ट्रिंग) तीन तरीकों से लाभ उठाता है। आईएसओ 8601 डेटाइम मानों की प्रॉपर्टी को संरक्षित करने के लिए समय क्षेत्र की जानकारी का प्रतिनिधित्व करता है:
public class Example
{
public static void Main()
{
DateTime dat = new DateTime(2009, 6, 15, 13, 45, 30,
DateTimeKind.Unspecified);
Console.WriteLine("{0} ({1}) --> {0:O}", dat, dat.Kind);
DateTime uDat = new DateTime(2009, 6, 15, 13, 45, 30,
DateTimeKind.Utc);
Console.WriteLine("{0} ({1}) --> {0:O}", uDat, uDat.Kind);
DateTime lDat = new DateTime(2009, 6, 15, 13, 45, 30,
DateTimeKind.Local);
Console.WriteLine("{0} ({1}) --> {0:O}\n", lDat, lDat.Kind);
DateTimeOffset dto = new DateTimeOffset(lDat);
Console.WriteLine("{0} --> {0:O}", dto);
}
}