2010-06-10 15 views
5

मेरे पास डेटटाइम ऑब्जेक्ट है।प्रारूप डेटाटाइम टाइमज़ोन

गुरु, 06 जून 2010 16:00:00 0200

यह मेरा कोड अब तक है:

DateTime.Now.ToString("ddd, dd MMMM yyyy HH:mm:ss zzz"); 

मैं एक स्ट्रिंग नीचे इस एक के रूप में स्वरूपित लौटना चाहते परिणाम:

गुरु, 10 जून 2010 18:33:14 02: 00

क्या टाइमज़ोन अंतर बिना स्वरूपित एक अंतर्निहित तरीका है:? (मैन्युअल रूप से बिना छेड़छाड़ किए: अगर मुझे ऐसा कोई जटिलता है, तो पता नहीं है)

+0

अच्छा प्रश्न (+1)। मैं भी क्या जानना चाहता हूँ। मुझे पता होना चाहिए कि तिथि किस समय में है। हमारे पास जावा में एक प्रणाली है जिसमें इसमें कई तारीखें हैं - लेकिन मुझे हमेशा उम्मीद थी कि ऐसा करने के लिए नेट फ्रेमवर्क में कुछ बनाया जाएगा। – Andez

उत्तर

1

यह (मैंने खोजा है) लगता है, परिणामस्वरूप स्ट्रिंग को अलग करने में कोई रास्ता नहीं है। यदि आप zz का उपयोग करते हैं तो आपको केवल "+02" मिलता है ... फिर आप आखिरी के लिए "खोज" (रेगेक्स या जो कुछ भी) के बजाय 00 जोड़ सकते हैं: और इसे पट्टी करें। DateTimeFormatInfo एच के लिए विभाजक को जानने की अनुमति देता है: एम: एस, डी/एम/वाई, लेकिन टाइमज़ोन नहीं; इसके अलावा यदि DateTimeFormatInfo.TimeSeparator टाइमज़ोन को भी प्रभावित करता है (एच: एम होने के नाते), आप खोज नहीं सकते: स्नस यह सभी लोकेशंस पर काम नहीं कर सका, आपको इसके बजाय DateTimeFormatInfo.TimeSeparator की खोज करनी चाहिए; या zz और अंत में 00 संलग्न करें ... अभी के लिए, यह आपकी मदद करने के लिए मेरे विचारों के बारे में है।

+0

यह हो सकता है (यह http://www.worldtimezone.com/wtz014.php है) ... लेकिन ज़ेड केवल +04 लौटाता है। यह सही सटीक टाइमज़ोन को बनाए रखना कितना महत्वपूर्ण है इस पर निर्भर करता है। यदि सही सटीक समय की आवश्यकता है, तो स्ट्रिप: अन्यथा +/- 30 मिनट की त्रुटि स्वीकार्य है – ShinTakezou

3

नोट करें कि आप समय क्षेत्र के साथ पूर्ण डेटाटाइम रखने के लिए "ओ" का उपयोग कर सकते हैं। यह लॉग सामान के लिए उपयोगी हो सकता है।

DateTime.Now.ToString("o") => 2012-08-17T17:31:19.7538909+08:00 
संबंधित मुद्दे