2012-07-25 20 views
11
var date = new Date(1257397200000​); 
document.write(date); 
​ 

कोड ऊपर मैं Wed Nov 04 2009 23:00:00 GMT-0600 (Central Standard Time)कैसे जावास्क्रिप्ट तारीख वस्तु को यूनिक्स टाइमस्टैम्प कन्वर्ट करने के लिए (समय क्षेत्र पर विचार करें)

मिला मैं अलग समय क्षेत्र के आधार पर दिनांक वस्तु बनाने के लिए एक तरह से देख रहा हूँ Ran, उस के लिए कहते हैं टाइम स्टैम्प मैं दिनांक वस्तु प्राप्त करना चाहता हूं जैसे Thursday, November 5th 2009, 00:00:00 (GMT -5)

ध्यान दें कि तारीख दो बार ज़ोन, के अनुसार अलग हैं हालांकि वे में एक ही बिंदु का प्रतिनिधित्व करते हैं। मैं सीएसटी में हूं, यही कारण है कि बनाई गई वस्तु सीएसटी का उपयोग करके क्यों उत्पन्न होती है?

धन्यवाद।

+0

हाँ, यह सबसे अधिक संभावना आपके (स्थानीय) समय क्षेत्र का उपयोग कर रहा देखें। मुझे लाइब्रेरी नहीं पता है, लेकिन चीजों की रिपोर्ट करने के लिए टाइमज़ोन का चयन करने के लिए कहीं और तरीका होना चाहिए। कृपया ध्यान दें कि टाइमस्टैम्प _not_ बदलना चाहिए। –

+0

हां टाइमस्टैम्प नहीं बदलेगा। मेरे प्रश्न का उत्तर हमें बहुत अच्छा है लेकिन आपको यह जवाब भी मिल सकता है (http://stackoverflow.com/a/4322641/1413598) सहायक। – sozhen

उत्तर

15

नहीं, ये तिथियां अलग नहीं हैं क्योंकि वे समय पर अलग-अलग बिंदुओं का प्रतिनिधित्व नहीं करते हैं। दोनों Thu, 05 Nov 2009 05:00:00 GMT का प्रतिनिधित्व करते हैं।

Date जावास्क्रिप्ट में ऑब्जेक्ट समय-क्षेत्र स्वतंत्र है, यह केवल समय पर बिंदु का प्रतिनिधित्व करता है। तथ्य यह है कि Date.toString() में समय क्षेत्र बहुत भ्रामक है, Date में कोई समय-क्षेत्र जानकारी नहीं है। यह युग के बाद से मिलीसेकंड के आसपास केवल एक रैपर है।

आपके द्वारा देखे जाने वाले समय क्षेत्र ओएस/ब्राउज़र लोकेल पर आधारित है। आप विभिन्न समय-क्षेत्र में Date ऑब्जेक्ट नहीं बना सकते हैं। ब्राउज़र समय-क्षेत्र अज्ञेय मूल्य प्राप्त करने के लिए getUTC*() विधियों के परिवार का उपयोग करने पर विचार करें।

BTW अपने उदाहरण कोड प्रिंट:

Thu Nov 05 2009 06:00:00 GMT+0100 (CET) 
अपने कंप्यूटर पर

- और यह अभी भी कुछ ही समय में एक ही बिंदु है।

भी

+2

+1! प्यार करते हुए कि आपने 'समय में एक बिंदु का प्रतिनिधित्व करता है' पर जोर दिया। – Adi

+1

"आप अलग-अलग समय-क्षेत्र में दिनांक वस्तु नहीं बना सकते हैं।" इस बात की जानकारी देने के लिए धन्यवाद। – sozhen

+0

तो मूल रूप से जवाब यह है कि आपको टाइमस्टैम्प को तिथि में परिवर्तित करते समय उपयोगकर्ता के टाइमज़ोन की परवाह करने की आवश्यकता नहीं है क्योंकि यह स्वचालित रूप से किया जाता है, है ना? –

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