2015-10-21 9 views
6

सर्वर से प्राप्त दिनांक UTC समय क्षेत्र में है कोई डाटा नहीं है और मैं, एक विशेष समय-क्षेत्र पर यह परिवर्तित करने के लिए उदाहरण के लिए की जरूरत है: America/New_York .Following हीकोणीय पल: पल समय-क्षेत्र अमेरिका के लिए/New_York

<span class="bold" ng-bind="sess.date_time | amTimezone:'America/New_York' | amDateFormat:'h:mm a'"></span> 
के लिए कोड है

Moment Timezone has no data for America/New_York. See http://momentjs.com/timezone/docs/#/data-loading/. 

लेकिन America/New_Yorkmoment को एक ज्ञात समय क्षेत्र है, लेकिन समय-क्षेत्र को जोड़ने के लिए अभी भी यह मुझे पूछ रहा है:

लेकिन ऐसा पर मैं निम्नलिखित त्रुटि मिलती है।

उत्तर

29

आप निम्न में से सभी को लोड करने की आवश्यकता है:

  • पल
  • पल-समय क्षेत्र
  • समय क्षेत्र डेटा पल-समय क्षेत्र के लिए
  • कोणीय पल

moment-timezone होम पेज पर, तीन अलग-अलग वितरण उपलब्ध हैं ओ एफ पल-टाइमज़ोन।

  • moment-timezone.jsसिर्फ स्क्रिप्ट है। इसमें कोई समय क्षेत्र डेटा नहीं है। यदि आप इस वितरण का उपयोग करते हैं, तो यह अपेक्षा की जाती है कि आप दस्तावेज़ों में वर्णित अनुसार moment.tz.add, या moment.tz.load द्वारा अपने समय क्षेत्र डेटा को खींच लेंगे।

  • moment-timezone-with-data.js वेबसाइट पर उल्लिखित संस्करण के लिए tz database से सभी ज्ञात समय क्षेत्र डेटा शामिल है।

  • moment-timezone-with-data-2012-2022.js ही TZ डेटा शामिल है, लेकिन छोटा कर दिया करने के लिए सिर्फ वर्ष 2012 2022 के माध्यम से यह एक बहुत छोटे डेटा फ़ाइल है, और ब्राउज़र-पक्ष अनुप्रयोगों के बहुमत के लिए पर्याप्त है।

प्रत्येक के न्यूनतम संस्करण भी हैं।

तो यदि आपको "Moment Timezone has no data for America/New_York" मिल रहा है, तो America/New_York एक मान्य TZ डेटाबेस पहचानकर्ता है, तो आपने बस इसके लिए डेटा लोड नहीं किया है। आप शायद डेटा जोड़ने के बिना moment-timezone.js का उपयोग कर रहे हैं। या तो moment.tz.add के साथ समय क्षेत्र डेटा शामिल करें, या (अधिक उचित) उन फ़ाइलों में से एक पर स्विच करें जिनमें पहले से ही सभी समय क्षेत्र डेटा शामिल है।

हालांकि, दोनों मत करो। समय क्षेत्र डेटा केवल एक बार लोड किया जाना चाहिए, और पल-टाइमज़ोन स्क्रिप्ट केवल एक बार लोड की जानी चाहिए। यदि आप या तो moment-timezone-with-data.js या moment-timezone-with-data-2012-2022.js का उपयोग करते हैं, तो आपको moment-timezone.js का उपयोग नहीं करना चाहिए, क्योंकि उस स्क्रिप्ट को पहले से ही शामिल किया गया है।

+0

बैकएंड (एक्सप्रेस) में, मुझे टाइमज़ोन डेटा के लिए जेएस की आवश्यकता नहीं थी और यह ठीक काम कर रहा है। ग्राहक पक्ष के लिए हो सकता है कि हमें इस डेटा को स्पष्ट रूप से प्राप्त करने की आवश्यकता है जैसा कि आपने बताया है, यह आपको बताएगा कि यह काम करता है या नहीं। –

+2

ग्रेट !! इसने काम कर दिया। "क्षण टाइमज़ोन 0.4.0 पहले से ही किसी भी डेटा के बिना लोड किया गया था" त्रुटि प्राप्त हो रही है, फिर सावधानी से अपना जवाब दोबारा पढ़ें और आखिरी दो आखिरी पंक्तियों ने रहस्य हल किया :) –

+1

आपकी टिप्पणी @ अमानगुप्त के लिए धन्यवाद। दोनों का उपयोग न करें!(टाइमज़ोन और डेटा) स्क्रिप्ट, यहां सबक सीखा है। – paqogomez

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