2009-07-06 18 views
21

एक स्ट्रिंग बनाने का संस्कृति-परिवर्तनीय तरीका क्या है जैसे जावास्क्रिप्ट दिनांक() कन्स्ट्रक्टर इसे पार्स कर सकता है और उचित दिनांक वस्तु बना सकता है?सही जावास्क्रिप्ट दिनांक .parse (...) प्रारूप स्ट्रिंग?

मैं इन प्रारूप तार जो (सी # का उपयोग कर तार उत्पन्न करने के लिए) काम नहीं करते की कोशिश की है:

clientDate.ToString(); 
// gives: "11/05/2009 17:35:23 +00:00" 

clientDate.ToString("MMM' 'dd', 'yyyy' 'h':'mm':'ss' 'tt"); 
// works on an English server 
// but on a French server, gives: "mai 11, 2009 5:35:23" 
// Javascript won't parse that. 

clientDate.ToString("MM'-'dd'-'yyyy' 'HH':'mm':'ss") 
// gives: 05-11-2009 17:35:23 

सार्वभौमिक स्वरूप क्या है ??

+0

अच्छा सवाल, यह एक कठिन समस्या है – annakata

+0

आप इसके लिए एक स्ट्रिंग क्यों चाहते हैं? – Boldewyn

+0

मुझे ब्राउज़र में एक स्ट्रिंग उत्सर्जित करने की आवश्यकता है ताकि मैं जावास्क्रिप्ट के toLocaleString() फ़ंक्शन का उपयोग करके स्ट्रिंग को स्थानीयकृत करने के लिए जावास्क्रिप्ट का उपयोग कर सकूं। हालांकि, मुझे एक सफल, सिंगल स्ट्रिंग प्रारूप का पता लगाने में कठिनाई हुई है जो मेरे सभी सर्वरों द्वारा उत्सर्जित की जाएगी। बचाव के लिए –

उत्तर

19

According to MDC:

एक स्ट्रिंग एक समय का प्रतिनिधित्व करने को देखते हुए, parse समय मान देता है। यह आईईटीएफ मानक (RFC 1123 धारा 5.2.14 और अन्यत्र) स्वीकार करता है दिनांक वाक्यविन्यास: "Mon, 25 Dec 1995 13:30:00 GMT"। यह महाद्वीपीय यूएस समय-क्षेत्र संक्षेपों को समझता है, लेकिन सामान्य उपयोग के लिए, समय-क्षेत्र ऑफसेट का उपयोग करें, उदाहरण के लिए, "Mon, 25 Dec 1995 13:30:00 GMT+0430" (4 घंटे, ग्रीनविच मेरिडियन के पूर्व में 30 मिनट)। यदि आप समय क्षेत्र निर्दिष्ट नहीं करते हैं, तो स्थानीय समय क्षेत्र माना जाता है। जीएमटी और यूटीसी समकक्ष माना जाता है।

आप अंग्रेजी स्थान का उपयोग कर इस प्रारूप उत्पन्न नहीं कर सकते हैं, तो Date.UTC

+0

आरएफसी 1123! धन्यवाद Maciej! –

1

उपयोग करने के लिए आप एक स्थान-स्वतंत्र प्रारूप जावास्क्रिप्ट पार्स कर सकते हैं, तो आप 2013-03-31T16:36:57+0900 उपयोग कर सकते हैं चाहते हैं की कोशिश करो। यह कम से कम Node.js और क्रोम में काम करता है, इसलिए मुझे संदेह है कि यह मानक है।

+0

एंड्रॉइड 2.2 पर काम नहीं करता है (2.3 और उच्चतम पर काम करता है)। किसी भी आईओएस डिवाइस पर काम नहीं करता है (परीक्षण 5.0 और 6.0)। –

+0

फिर '2013-03-31T16: 36: 57Z' के बारे में कैसे? आईओएस पर काम करता है। अंतर यह है कि अब जीएमटी होना चाहिए। – jcayzac

+1

अगर यह केवल इतना आसान था ... वह प्रारूप (इसे आईएसओ -8601 कहा जाता है) IE8 में भी काम नहीं करेगा। –

संबंधित मुद्दे