2011-06-11 11 views
17

के लिए डेटाटाइम प्रारूप जेनरेट करें मैं नीचे दिखाए गए अनुसार सीएक्सएमएल के लिए टाइमस्टैम्प जेनरेट करने की कोशिश कर रहा हूं। क्या सी # में कोई फ़ंक्शन है जिसका उपयोग मैं दिनांक समय को प्रारूपित करने के लिए कर सकता हूं: 2011-06-09T16: 37: 17 + 16: 37एक्सएमएल

उदा।

<cXML payloadID="[email protected]" 
timestamp="2011-06-09T16:37:17+16:37"> 
+3

उपयोग कर सकते हैं '+16 के प्रयोजन क्या है : 37' हिस्सा? [आईएसओ 8601] में (http://en.wikipedia.org/wiki/ISO_time) इसका उपयोग समय क्षेत्र के लिए किया जाता है, लेकिन ऐसा लगता है कि यह मामला नहीं है। – svick

उत्तर

33

'ओ' के फॉर्मेट स्पेसिफायर का प्रयोग करें - MSDN पर standard Date and Time format strings दस्तावेज में इस एक के बारे में पढ़ा।

इस विनिर्देशक के लिए पैटर्न एक निर्धारित मानक (आईएसओ 8601) को दर्शाता है।

और:

6/15/2009 1:45:30 अपराह्न -> 2009-06-15T13: 45: 30,0900000

string formatted = DateTime.Now.ToString("o"); 

यदि यह नहीं है क्या आप चाहते हैं, आपको custom format string का उपयोग करने की आवश्यकता होगी - मेरा मानना ​​है कि आपको ऐसा करने की आवश्यकता होगी, क्योंकि ऑफ़सेट मानक नहीं है। Standard Date and Time Format Strings:

string formatted = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ssK"); 
6

हाँ, DateTime.ToString("s") का उपयोग कर, इस लिंक को देख। ध्यान रखें कि "s" में टाइमज़ोन जानकारी शामिल नहीं है, जबकि "o" में दोनों अंशकालिक सेकंड और टाइमज़ोन शामिल हैं।

आप XmlConvert.ToString विधि का भी उपयोग कर सकते हैं, जहां आप समय क्षेत्र जानकारी भी निर्दिष्ट कर सकते हैं।

<xs:element name="start" type="xs:date"/> 

अपने दस्तावेज़ में एक तत्व इस प्रकार दिखाई देंगे:

0

निम्नलिखित एक स्कीमा में एक तिथि घोषणा का एक उदाहरण है

<start>2002-09-24</start> 

एक समय क्षेत्र निर्दिष्ट करने के लिए, आप कर सकते हैं या तो दिनांक के पीछे "Z" जोड़कर यूटीसी समय में एक तिथि दर्ज करें:

<start>2002-09-24Z</start> 

या आप एक ऑफ़र निर्दिष्ट कर सकते हैं तारीख के पीछे एक सकारात्मक या नकारात्मक समय जोड़कर UTC समय से टी:

<start>2002-09-24-06:00</start> 

या

<start>2002-09-24+06:00</start> 
0

आप ToString विधि

DateTime time = DateTime.Now;    
string format = "MMM ddd d HH:mm yyyy"; // or any format you want 
Console.WriteLine(time.ToString(format));