Moment: StartOf ("اليوم") يمنحني أمس

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

تشغيل الكود التالي في Chrome الإصدار 49.0.2623.110 م
image
ربما تتعلق بـ # 2982؟

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

نظرًا لأنك تستخدم الدالة moment() لإنشاء تاريخك ، تفترض اللحظة أنك تتعامل مع تاريخ محلي. وبالتالي ، فإن الوظيفة .startOf() تنقلك إلى بداية التاريخ المحلي الخاص بك.
على الرغم من ذلك ، ينتج عن .toISOString() تاريخ UTC ، كما هو مشار إليه بواسطة Z في نهاية السلاسل.

بناءً على ملفك الشخصي على جيثب ، يبدو أنك في إسرائيل. لذا ، تعديل المنطقة الزمنية لآسيا / القدس ووضعها كلها في الكود:

//the time now in Jerusalem
moment().format()
"2016-04-03T14:48:10+03:00"

//start of day in Jersualem
moment().startOf('day').format()
"2016-04-03T00:00:00+03:00"

//start of day as ISO string is three hours before start of day in Jerusalem
moment().startOf('day').toISOString()
"2016-04-02T21:00:00.000Z"

تحتاج إما إلى العمل بشكل كامل في التوقيت المحلي ، واستخدام .format() للحصول على النتيجة التي تريدها ، أو العمل بالكامل في UTC.

قد يكون هذا القسم من المستندات مفيدًا:
http://momentjs.com/guides/#/parsing/local -utc-zone /

ال 3 كومينتر

نظرًا لأنك تستخدم الدالة moment() لإنشاء تاريخك ، تفترض اللحظة أنك تتعامل مع تاريخ محلي. وبالتالي ، فإن الوظيفة .startOf() تنقلك إلى بداية التاريخ المحلي الخاص بك.
على الرغم من ذلك ، ينتج عن .toISOString() تاريخ UTC ، كما هو مشار إليه بواسطة Z في نهاية السلاسل.

بناءً على ملفك الشخصي على جيثب ، يبدو أنك في إسرائيل. لذا ، تعديل المنطقة الزمنية لآسيا / القدس ووضعها كلها في الكود:

//the time now in Jerusalem
moment().format()
"2016-04-03T14:48:10+03:00"

//start of day in Jersualem
moment().startOf('day').format()
"2016-04-03T00:00:00+03:00"

//start of day as ISO string is three hours before start of day in Jerusalem
moment().startOf('day').toISOString()
"2016-04-02T21:00:00.000Z"

تحتاج إما إلى العمل بشكل كامل في التوقيت المحلي ، واستخدام .format() للحصول على النتيجة التي تريدها ، أو العمل بالكامل في UTC.

قد يكون هذا القسم من المستندات مفيدًا:
http://momentjs.com/guides/#/parsing/local -utc-zone /

: راحة اليد:

شكرا لك على الشرح الشامل.

أعتقد أنني شرحت هذا بالفعل مرتين على الأقل هذا الأسبوع بين هنا و Stack Overflow. أنت لست الشخص الوحيد الذي يتم الخلط بينه. سأقوم بتحديث المستندات لجعل جزء UTC أكثر وضوحًا.

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