मुझे टाइम ऑफसेट से निपटने के लिए moment.js
का उपयोग करने का प्रयास करने में कुछ समस्या का सामना करना पड़ रहा है। (मेरे मामले अपने मूल्य -240 है में)पल के साथ समय ऑफसेट अपडेट करना()। UtcOffset()
<script type="text/javascript">
$(document).ready(function() {
$('input#timeoffset').val(moment().utcOffset());
});
</script>
ऑफसेट सही ढंग से संग्रहीत हो जाता है:
मैं एक छिपे हुए इनपुट में स्थानीय उपयोगकर्ता समय ऑफसेट इकट्ठा। बाद में सर्वर साइड (जो UTC समय में चलता है) मैं कुछ db संगृहीत utcDate की तरह कुछ कर रही अपडेट करने का प्रयास पर:
var userDate = moment(utcDate).utcOffset(offset)
मेरे मुद्दा है निम्नलिखित: अगर मैं अपने कोड चलाने जैसा कि ऊपर वर्णित मैं कोई प्रभाव प्राप्त :
utcDate: 20151001 012421 +0000
userDate: 20151001 012421 +0000
अगर मैं ऑफसेट हस्ताक्षर फ्लिप मैं:
utcDate: 20151001 012421 +0000
userDate: 20151001 052421 +0400
मैं स्पष्ट रूप से कुछ गलत है (भले ही मेरी उम्मीद है कि पहले संस्करण सही था) कर रहा हूँ, आप किसी भी संकेत है?
क्लाइंट साइड मैं moment.js v2.10.6 उपयोग कर रहा हूँ पर, जबकि सर्वर साइड पल-timezone.js v0.4.0 और moment.js v2.10.6 पर
और ऑफ़सेट लागू करने के बाद आप 'userDate' के साथ क्या करते हैं? आप शायद 'toDate',' valueOf', 'unix', या अन्य विधियों को कॉल कर रहे हैं जो वॉल-टाइम के बजाए तत्काल प्रतिबिंबित करते हैं। –
इसके अलावा, "समय क्षेत्र! = ऑफ़सेट" याद रखें।यदि आप उपयोगकर्ता के * वर्तमान * ऑफसेट को स्टोर करते हैं और बाद में इसे समय-समय पर मनमाने ढंग से लागू करते हैं, तो उस समय के लिए यह गलत ऑफसेट भी हो सकता है। टाइम जोन डेलाइट सेविंग टाइम के लिए ऑफसेट्स और अन्य विभिन्न कारणों से बदल सकते हैं। –
@MattJohnson वास्तव में मैं सिर्फ '.format (...)' परिणामों को मुद्रित करने के लिए। मेरे द्वारा उपर्युक्त परिणामों को मुद्रित किया गया है: 'console.log ('utcDate:' + moment (utcDate) .format ('YYYYMMDD HHmmss ZZ')); console.log ('userDate:' + पल (utcDate) .utc ऑफसेट (ऑफ़सेट) .format ('YYYYMMDD HHmmss ZZ')); '। 'UtcDate' ऑफसेट के बिना है। – Pierluigi