यूटीसी का उपयोग करना
आईएसओ 8601 ( MSDN डेटाइम प्रारूप )
Console.WriteLine(DateTime.UtcNow.ToString("s") + "Z");
2009-11-13T10: 39: 35Z
जेड वहाँ वजह से है
यदि समय UTC में है, तो बिना स्पेस के समय के बाद सीधे 'Z' जोड़ें। 'Z' शून्य UTC ऑफसेट के लिए ज़ोन डिज़ाइनर है। "09:30 यूटीसी" को "09: 30Z" या "0930Z" के रूप में दर्शाया गया है। "14:45:15 यूटीसी" "14: 45: 15Z" या "144515Z" होगा।
यदि आप एक ऑफसेट शामिल करना चाहते हैं
int hours = TimeZoneInfo.Local.BaseUtcOffset.Hours;
string offset = string.Format("{0}{1}",((hours >0)? "+" :""),hours.ToString("00"));
string isoformat = DateTime.Now.ToString("s") + offset;
Console.WriteLine(isoformat);
नोट करने के लिए दो चीजें: + या - समय के बाद की जरूरत है लेकिन स्पष्ट रूप से + सकारात्मक संख्या पर नहीं दिखाता है। विकिपीडिया के अनुसार ऑफ़सेट + hh प्रारूप या + hh: mm में हो सकता है। मैं सिर्फ घंटे के लिए रखा है।
जहाँ तक मुझे पता है, RFC1123 (HTTP दिनांक, "u" फ़ॉर्मैटर ) का अर्थ टाइम ज़ोन ऑफ़सेट्स देना नहीं है। सभी बार GMT / UTC होने का इरादा है।
UtcNow.ToString(s)+Zगलत जवाब गलत है। ISO8601 RoundTrip विकल्प द्वारा समर्थित हैToString("O")। यह भी इंगित करने के लिए कि स्वीकृत उत्तर डेटाइम के यूटीसी मूल्य का उपयोग करता है, जो हमेशा वास्तविक डेटाइम मूल्य का उपयोग करने के बजाय, हमेशा समय ज़ोन ज़ेड दे देगा, जिसमें (यदि किड = स्थानीय) एक दिन का समय बचत हो सकता है। स्वीकृत उत्तर को बदलने पर विचार करें?