Moment: عند إنشاء تاريخ UTC باستخدام Moment.js ، لا تفعل أداة ضبط المنطقة () شيئًا (2.8.3)

تم إنشاؤها على ١١ سبتمبر ٢٠١٤  ·  3تعليقات  ·  مصدر: moment/moment

أحصل على كائن اللحظة نفسه بالضبط بعد تشغيل المنطقة (-1) كما أفعل عندما لا أقوم بتشغيله. مثال:

console.log (moment (). utc (). toDate ()) ؛
console.log (moment (). utc (). zone (-1) .toDate ()) ؛

أتوقع أن يقوم هذا بضبط كائن التاريخ وفقًا لإزاحة المنطقة الزمنية ، لكنه يعمل ... حسنًا ، لا شيء.

التعليق الأكثر فائدة

rquinlivan لقد حفرت أعمق قليلاً. يمكنك تمرير وسيطة ثانية إلى zone() لتجعلها تحافظ على وقت ساعة الحائط كما هو:

> moment().format()
'2014-09-15T16:59:30-04:00'
> moment().zone(-1).format()
'2014-09-15T21:59:35+01:00'
> moment().zone(-1, true).format()
'2014-09-15T16:59:38+01:00'

لذلك ستنتهي بـ:

> moment().toDate()
Mon Sep 15 2014 17:00:16 GMT-0400 (EDT)
> moment().zone(-1, true).toDate()
Mon Sep 15 2014 12:00:19 GMT-0400 (EDT)

الذي أعتقد أنه ما تريده.

FWIW ، سيكون الجميع أسرع في مساعدتك بالمصدر المفتوح إذا اقتربت من فجوة وظيفية من خلال "مرحبًا ، أنا بحاجة إلى هذه الميزة ، كيف يمكنني المساعدة؟" وليس كما فعلت أنت.

ال 3 كومينتر

تقوم Moment بتتبع المثيلات في الوقت المناسب (أي ميلي ثانية منذ 1970 بالتوقيت العالمي المنسق). ما تفعله عندما تقول utc() أو zone() ، فأنت تغير طريقة التعبير عن هذا الوقت (على سبيل المثال ، نقول "9:00" في EST ولكن "6:00" بتوقيت المحيط الهادئ ، ولكن في نفس الوقت). لذا فإن تحويله مرة أخرى إلى تاريخ يؤدي إلى إزالة البيانات الوصفية "يجب عليك طباعة التواريخ بشكل مختلف". لا يزال نفس الوقت.

يبدو أنك تريد تعديل الوقت الفعلي؟ ليس لدينا ميزة "تغيير الوقت بحيث يتم عرضه بنفس الطريقة في هذه المنطقة الأخرى" ، على الرغم من أننا ناقشناها (أو هل نحن ،ichernev؟)

نعم ، أريد تعديل الوقت الفعلي. هذا مقيد جدًا وسأضطر على الأرجح إلى التوقف عن استخدام هذه المكتبة بسبب هذا القيد.

rquinlivan لقد حفرت أعمق قليلاً. يمكنك تمرير وسيطة ثانية إلى zone() لتجعلها تحافظ على وقت ساعة الحائط كما هو:

> moment().format()
'2014-09-15T16:59:30-04:00'
> moment().zone(-1).format()
'2014-09-15T21:59:35+01:00'
> moment().zone(-1, true).format()
'2014-09-15T16:59:38+01:00'

لذلك ستنتهي بـ:

> moment().toDate()
Mon Sep 15 2014 17:00:16 GMT-0400 (EDT)
> moment().zone(-1, true).toDate()
Mon Sep 15 2014 12:00:19 GMT-0400 (EDT)

الذي أعتقد أنه ما تريده.

FWIW ، سيكون الجميع أسرع في مساعدتك بالمصدر المفتوح إذا اقتربت من فجوة وظيفية من خلال "مرحبًا ، أنا بحاجة إلى هذه الميزة ، كيف يمكنني المساعدة؟" وليس كما فعلت أنت.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات