क्यों बस का उपयोग नहीं करते The Round-trip ("O", "o") Format Specifier?
"O" या 'ओ' के मानक फॉर्मेट स्पेसिफायर एक पैटर्न है कि समय क्षेत्र जानकारी को बरकरार रखता है और एक परिणाम के स्ट्रिंग है जो आईएसओ 8601. का अनुपालन दिनांक समय मूल्यों के लिए उत्सर्जन करता है का उपयोग कर एक कस्टम दिनांक और समय प्रारूप स्ट्रिंग का प्रतिनिधित्व करता है, इस प्रारूप विनिर्देशक दिनांक और समय मूल्यों को दिनांक में दिनांक के साथ संरक्षित करने के लिए डिज़ाइन किया गया है। टेक्स्ट में संपत्ति की खोज करें। स्वरूपित स्ट्रिंग को डेटटाइम का उपयोग करके वापस पार्स किया जा सकता है। पर्स (स्ट्रिंग, आईफॉर्मैटप्रोवाइडर, डेटटाइम स्टाइल) या डेटटाइम। पैरासेएक्सएक्ट विधि यदि स्टाइल पैरामीटर डेटटाइम स्टाइल पर सेट है। राउंडट्रिपकिंड।
"ओ" या "ओ" मानक प्रारूप विनिर्देशक "yyyy '-' MM '-' dd'T'HH ':' mm ':' ss '।' FffffffK" दिनांक प्रारूप के लिए कस्टम प्रारूप स्ट्रिंग से मेल खाता है मूल्य और "yyyy" - 'MM' - 'dd'T'HH': 'mm': 'ss'। 'fffffffzzz "दिनांक प्रारूप के लिए कस्टम प्रारूप स्ट्रिंग। इस स्ट्रिंग में, एकल उद्धरण चिह्नों के जोड़े जो हाइफ़न, कोलन, और अक्षर "टी" जैसे व्यक्तिगत वर्णों को सीमित करते हैं, इंगित करते हैं कि व्यक्तिगत वर्ण एक शाब्दिक है जिसे बदला नहीं जा सकता है। Apostrophes आउटपुट स्ट्रिंग में प्रकट नहीं होता है।
ओ "या" ओ "मानक प्रारूप विनिर्देशक (और" yyyy '-' MM '-' dd'T'HH ':' mm ':' ss '।' FffffffK "कस्टम प्रारूप स्ट्रिंग) लाभ लेता है तीन तरीके दिनांक समय मान का प्रकार संपत्ति की रक्षा करने के जो ISO 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);
}
}
// The example displays the following output:
// 6/15/2009 1:45:30 PM (Unspecified) --> 2009-06-15T13:45:30.0000000
// 6/15/2009 1:45:30 PM (Utc) --> 2009-06-15T13:45:30.0000000Z
// 6/15/2009 1:45:30 PM (Local) --> 2009-06-15T13:45:30.0000000-07:00
//
// 6/15/2009 1:45:30 PM -07:00 --> 2009-06-15T13:45:30.0000000-07:00
@ डाउनवॉटर: क्या आप हमें यह बताना चाहते हैं कि आपको इस उत्तर के साथ क्या गलत लगता है? – LukeH
यह काम करता है लेकिन .ToUniversalTime() आपकी मौजूदा तिथि को गड़बड़ कर देगा यदि यह पहले से ही यूटीसी में है लेकिन आपकाडेटटाइम चर निर्दिष्ट नहीं करता है। मैंने .oUniversalTime() को हटा दिया और तिथियों को तब दोनों सिरों (डेटाबेस और वेब क्लाइंट) पर अपेक्षित चीज़ों के साथ रेखांकित किया। –