2011-11-25 8 views
14

मेरे पास ग्राफ.facebook API से प्राप्त दिनांक स्ट्रिंग "2011-11-24T09: 00: 27 + 0000" है।जावास्क्रिप्ट दिनांक। क्रोम और अन्य ब्राउज़रों में भिन्न अंतर

जब मैं

var timestamp = Date.parse(facebookDate); 
क्रोम में

चलाते हैं। मुझे एक टाइमस्टैम्प मिलता है जो तिथि से संबंधित है! उत्तम!

लेकिन हर दूसरे प्रमुख ब्राउज़र में ... मुझे "NaN" मिलता है !!! ?

निश्चित रूप से ये सभी ब्राउज़र समान जावास्क्रिप्ट पार्स फ़ंक्शन का उपयोग करते हैं?

क्या कोई यह समझा सकता है कि एक ही जावास्क्रिप्ट फ़ंक्शन अलग-अलग परिणाम क्यों देता है?

और किसी को भी मुझे बताओ कि इस समस्या को हल करने के लिए कर सकते हैं ...

अग्रिम धन्यवाद

एलेक्स

+0

कृपया पहले स्क्रिप्ट के बाद अद्यतन स्क्रिप्ट देखें, इसे घटाए जाने के बजाय ऑफसेट को जोड़ा गया। – mplungjan

+5

" निश्चित रूप से ये सभी ब्राउज़र समान उपयोग करते हैं जावास्क्रिप्ट पार्स फ़ंक्शन सही है? "नहीं। वेब विकास में आपका स्वागत है। – user123444555621

+0

@Alex - क्या यह हमेशा +0000 है क्योंकि तब हम इसे Z – mplungjan

उत्तर

10

यहाँ JavaScript: Which browsers support parsing of ISO-8601 Date String with Date.parse की मदद से Firefox और IE/सफारी (के लिए एक ठीक है ):

DEMO

var noOffset = function(s) { 
    var day= s.slice(0,-5).split(/\D/).map(function(itm){ 
    return parseInt(itm, 10) || 0; 
    }); 
    day[1]-= 1; 
    day= new Date(Date.UTC.apply(Date, day)); 
    var offsetString = s.slice(-5) 
    var offset = parseInt(offsetString,10)/100; 
    if (offsetString.slice(0,1)=="+") offset*=-1; 
    day.setHours(day.getHours()+offset); 
    return day.getTime(); 
} 

MDN टिप्पणी से

जावास्क्रिप्ट 1.8.5

आईएसओ 8601 स्वरूपित तारीख तार के एक उप समूह अब भी पार्स किया जा सकता।

वैकल्पिक रूप से, तिथि/समय स्ट्रिंग आईएसओ 8601 प्रारूप में हो सकती है। जावास्क्रिप्ट 1.8.5/फ़ायरफ़ॉक्स 4 से शुरू, आईएसओ 8601 का एक सबसेट समर्थित है। उदाहरण के लिए, "2011-10-10" (बस तिथि) या "2011-10-10T14: 48: 00 (दिनांक और समय) पारित किया जा सकता है और पार्स किया जा सकता है। आईएसओ तिथियों में टाइमज़ोन अभी तक समर्थित नहीं हैं, इसलिए उदाहरण के लिए" 2011- 10-10T14: 48: 00 + 0200 "(टाइमज़ोन के साथ) अभी तक इच्छित परिणाम नहीं देता है।

+1

सुंदर में बदल सकते हैं और पूरी तरह से काम करता है। बहुत बहुत धन्यवाद। – Warpling

+1

धन्यवाद आप बहुत अधिक mplungjan, आप मेरा दिन बचाया !!! – avenet

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