Moment: 2.19.1: لم يعد بإمكانه الجمع بين أيام اللحظة والمنطقة الزمنية اللحظية وأيام العمل اللحظية

تم إنشاؤها على ١٢ أكتوبر ٢٠١٧  ·  7تعليقات  ·  مصدر: moment/moment

اعتدت أن أكون قادرًا على الجمع بين moment ، moment-timezone ، moment-business-daysmoment-range لكن هذا ليس مشكلة في هذه الحالة) ، مثل :

import 'moment-timezone';
import moment from 'moment-business-days';
import { extendMoment } from 'moment-range';

moment.locale('en-us', {
    week: {
        dow: 1, // Monday is the first day of the week
    },
    holidays: [
        '2017-10-09',
        '2017-12-25',
        '2018-01-01',
        '2018-04-02',
        '2018-05-21',
        '2018-06-25',
        '2018-07-02',
        '2018-09-03',
        '2018-10-08',
        '2018-12-24',
        '2018-12-25',
    ],
    holidayFormat: 'YYYY-MM-DD',
});

moment.tz.setDefault('America/Montreal');

export default extendMoment(moment);

نجح هذا في جميع الإصدارات قبل الترقية إلى 2.19.1. الآن أتلقى الخطأ التالي:

Uncaught TypeError: Cannot read property 'setDefault' of undefined

وقد تتبعت ذلك إلى moment.tz لم يعد يتم تعريفه.

المشكلة هي إذا كنت import moment from moment-timezone فلن يعمل moment-business-days بعد الآن.

بيئة:

Chrome 61 على MacOS 10.12.6
تم تجميعها مع حزمة الويب

إخراج التصحيح:

Thu Oct 12 2017 12:29:48 GMT-0700 (PDT)
10/12/2017, 12:29:48 PM
420
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
2.19.1

أيه أفكار؟

Bug Up-For-Grabs

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

هل سيتم إصلاحه في أي وقت قريب؟ أم أن هناك عملًا معروفًا لهذا الغرض؟ قد لا يكون البقاء على 2.18.1 خيارًا لفترة أطول ...

ال 7 كومينتر

أعتقد أنني أحصل على شيء مشابه.

باستخدام import moment from 'moment-timezone' في هذا السطر:

var deadlineDisplay = moment.duration(deadlineSeconds, "seconds").format("h [hrs], m [min], s [sec]”)

يلقي هذا الخطأ:

Uncaught TypeError: _momentTimezone2.default.duration(...).format is not a function

التراجع إلى 2.18.1 يعمل بشكل جيد.

أرى خطأ مشابهًا. moment-timezone بإضافة طرق جديدة إلى moment ، ثم إعادة الكائن الأصلي moment . ومع ذلك ، فإن شيئًا ما في 2.19.1 يتسبب في إرجاع moment-timezone مثيلًا مختلفًا تمامًا عن moment .

require('moment').version // 2.18.1
require('moment') === require('moment-timezone') // true
require('moment').version // 2.19.1
require('moment') === require('moment-timezone') //false

نفس الشيء بالنسبة لكل من 2.19.0 و 2.19.1

هل سيتم إصلاحه في أي وقت قريب؟ أم أن هناك عملًا معروفًا لهذا الغرض؟ قد لا يكون البقاء على 2.18.1 خيارًا لفترة أطول ...

هل أنت متأكد من أن هذه المشكلة لا تزال قائمة مع Moment 2.24.0 و Moment-timezone 0.5.26؟ إذا فعلت:

require('moment-timezone');
var moment = require('moment-business-days');

لا يبدو أن لدي مشكلة في استخدام moment.tz

يرجى إعادة الفتح إذا كان لا يزال لديك مشاكل.

هذه لا تزال مشكلة ، مع ذلك.

تتطلب ("لحظة"). الإصدار // 2.24.0
تتطلب ('moment') === تتطلب ('moment-timezone') // صحيح

تتطلب ("لحظة"). الإصدار // 2.25.3
تتطلب ('moment') === تتطلب ('moment-timezone') // false

تتطلب ("لحظة"). الإصدار // 2.26.0
تتطلب ('moment') === تتطلب ('moment-timezone') // false

تتطلب ("لحظة"). الإصدار // 2.27.0
تتطلب ('moment') === تتطلب ('moment-timezone') // false

لذلك منذ الإصدار 2.24.0 لا يمكنني تعيين المناطق الزمنية. هذه مشكلة حقيقية.

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

القضايا ذات الصلة

slavafomin picture slavafomin  ·  3تعليقات

danieljsinclair picture danieljsinclair  ·  3تعليقات

tanepiper picture tanepiper  ·  3تعليقات

ninigix picture ninigix  ·  3تعليقات

nikocraft picture nikocraft  ·  3تعليقات