वेब पर लगभग हर आईएसओ विधि स्ट्रिंग को आउटपुट करने से पहले "Z" ulu समय (UTC) में कनवर्ट करके टाइमजोन जानकारी को गिरा देती है। ब्राउज़र का मूल .toISOString () भी टाइमज़ोन जानकारी को छोड़ देता है।
यह बहुमूल्य जानकारी को सर्वर, या प्राप्तकर्ता के रूप में, हमेशा एक पूर्ण आईएसओ दिनांक को ज़ुलु समय में परिवर्तित कर सकता है या समय-समय पर इसकी आवश्यकता हो सकती है, जबकि प्रेषक के समय-क्षेत्र की जानकारी अभी भी प्राप्त कर रहा है।
सबसे अच्छा समाधान जो मुझे आया है वह है मोमेंट.जेएस जावास्क्रिप्ट लाइब्रेरी का उपयोग करना और निम्नलिखित कोड का उपयोग करना:
समय क्षेत्र की जानकारी और मिलीसेकंड के साथ वर्तमान आईएसओ समय प्राप्त करने के लिए
now = moment().format("YYYY-MM-DDTHH:mm:ss.SSSZZ")
// "2013-03-08T20:11:11.234+0100"
now = moment().utc().format("YYYY-MM-DDTHH:mm:ss.SSSZZ")
// "2013-03-08T19:11:11.234+0000"
now = moment().utc().format("YYYY-MM-DDTHH:mm:ss") + "Z"
// "2013-03-08T19:11:11Z" <- better use the native .toISOString()
एक देशी जावास्क्रिप्ट दिनांक वस्तु का आईएसओ समय प्राप्त करने के लिए समय क्षेत्र की जानकारी के साथ लेकिन मिलीसेकंड के बिना
var current_time = Date.now();
moment(current_time).format("YYYY-MM-DDTHH:mm:ssZZ")
इसे Date.js के साथ जोड़ा जा सकता है ताकि Date.today () जैसे फ़ंक्शंस प्राप्त किए जा सकें, जिनके परिणाम को पल में पास किया जा सकता है।
इस तरह तैयार की गई डेट स्ट्रिंग JSON कंपाइलेंट है, और डेटाबेस में संग्रहीत होने के लिए अच्छी तरह से उधार देती है। अजगर और सी # इसे पसंद करने लगते हैं।