2013-02-03 28 views
5

मेरे पास मेरे सर्वर से एक JSON प्रतिक्रिया है जो मुझे सेकंड में यूटीसी यूनिक्स टाइमस्टैम्प दे रही है। मैं जावास्क्रिप्ट तिथियों में पार्सिंग कर रहा हूं जिसका उपयोग चार्ट में किया जाएगा (उपयोगकर्ता के लोकेल में समय प्रदर्शित करना)।Date.getTimezone ऑफ़सेट उलटा हुआ?

मैं स्पष्ट रूप से टाइमस्टैम्प मेरे पास है (यूटीसी में) ब्राउज़र किसी भी स्थान में मनाना करने के लिए है, तो मैं में एक समारोह है कि एक नए Date ब्राउज़र की स्थान में बनाता है, getTimezoneOffset() कॉल पर यह करने के लिए मिलता है "मिनट में ऑफसेट" लिखा था वर्तमान लोकेल, the MDN के अनुसार, दोनों को मिलीसेकंड में परिवर्तित करता है, और योग देता है। अब मेरे पास उपयोगकर्ता के लोकेल में एक जावास्क्रिप्ट अनुकूल यूनिक्स टाइमस्टैम्प है।

हालांकि, मैं नहीं करता हूं।

जैसा कि यह निकला है, (new Date()).getTimezoneOffset() जीएमटी -5 में जीएमटी -5 और -120 में रिटर्न (सकारात्मक) 300 है। ऑफ़सेट उलटा क्यों है? मैं ऑफ़सेट को टाइमज़ोन के संकेत से मिलान करने की उम्मीद करता था - यानी: मुझे जीएमटी -5 तक पहुंचने के लिए 300 मिनट और जीएमटी + 2 तक पहुंचने के लिए 120 मिनट का समय निकालना होगा। इसके बजाय, मुझे getTimezoneOffset

+0

विवरण देखें [यहां] (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset) .'This मतलब यह है कि ऑफसेट अगर सकारात्मक है स्थानीय टाइमज़ोन यूटीसी के पीछे है और नकारात्मक है अगर यह आगे है। – Jashwant

+0

तो अगर मैं वास्तव में विधि के माध्यम से क्लिक करता था ...... * फेसपाल्म * –

उत्तर

5

नोप द्वारा लौटाए गए मानों को घटाना होगा।

spec (§15.9.5.26) का कहना है:

15.9.5.26()

स्थानीय समय और मिनटों में UTC समय के बीच अंतर रिटर्न Date.prototype.getTimezoneOffset।

  1. टी इस समय मूल्य हो।
  2. यदि टी NaN है, तो NaN वापस करें।
  3. रिटर्न (टी - लोकलटाइम (टी))/msPerMinute
+0

तो मूल रूप से एक आरटीएफएम मुद्दा। शायद मेरे हिस्से पर बहुत कम कैफीन। खैर, कम से कम यह दस्तावेज है: डी। धन्यवाद –

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

  • कोई संबंधित समस्या नहीं^_^