Что влияет на атрибут iso в MomentJS Object? Что это значит? - PullRequest
0 голосов
/ 28 апреля 2019

У меня есть объект MomentJS Moment, который я создаю следующим образом:

date1 = Moment('2019-03-15', 'YYYY-MM-DD')

Затем я преобразую его в строку и сохраню в базе данных firestore.

date2 = date1.format('YYYY-MM-DD')

Затем я читаюобъект из базы данных Firestore и преобразовать его обратно в момент.

date3 = Moment(date2, 'YYYY-MM-DD')

Каким-то образом мои date1 и мои date3 объекты не совпадают.Они отличаются по атрибуту iso .

date1: iso: false
date3: iso: true

Может кто-нибудь объяснить, что означает или делает атрибут iso?В чем может быть причина того, что они отличаются в моем случае? Я проверяю равенство с JEST и не могу получить зеленый тест.

JEST Вывод:

expect(received).toEqual(expected)

    Difference:

    - Expected
    + Received

    @@ -208,11 +208,11 @@
          "_pf": Object {
            "charsLeftOver": 0,
            "empty": false,
            "invalidFormat": false,
            "invalidMonth": null,
    -       "iso": false,
    +       "iso": true,
            "meridiem": undefined,
            "nullInput": false,
            "overflow": -1,
            "parsedDateParts": Array [
              2019,

Объект date1 выглядит следующим образом

Moment {
           _isAMomentObject: true,
           _i: '2019-03-15',
           _f: 'YYYY-MM-DD',
           _isUTC: false,
           _pf:
            { empty: false,
              unusedTokens: [],
              unusedInput: [],
              overflow: -1,
              charsLeftOver: 0,
              nullInput: false,
              invalidMonth: null,
              invalidFormat: false,
              userInvalidated: false,
              iso: false,
              parsedDateParts: [Array],
              meridiem: undefined,
              rfc2822: false,
              weekdayMismatch: false },
           _locale:
            Locale {
              _calendar: [Object],
              _longDateFormat: [Object],
              _invalidDate: 'Invalid date',
              ordinal: [Function: ordinal],
              _dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
              _relativeTime: [Object],
              _months: [Array],
              _monthsShort: [Array],
              _week: [Object],
              _weekdays: [Array],
              _weekdaysMin: [Array],
              _weekdaysShort: [Array],
              _meridiemParse: /[ap]\.?m?\.?/i,
              _abbr: 'en',
              _config: [Object],
              _dayOfMonthOrdinalParseLenient: /\d{1,2}(th|st|nd|rd)|\d{1,2}/ },
           _d: 2019-03-14T23:00:00.000Z,
           _isValid: true },

Объект date3 выглядит следующим образом:

Moment {
           _isAMomentObject: true,
           _i: '2019-03-15',
           _f: 'YYYY-MM-DD',
           _isUTC: false,
           _pf:
            { empty: false,
              unusedTokens: [],
              unusedInput: [],
              overflow: -1,
              charsLeftOver: 0,
              nullInput: false,
              invalidMonth: null,
              invalidFormat: false,
              userInvalidated: false,
              iso: true,
              parsedDateParts: [Array],
              meridiem: undefined,
              rfc2822: false,
              weekdayMismatch: false },
           _locale:
            Locale {
              _calendar: [Object],
              _longDateFormat: [Object],
              _invalidDate: 'Invalid date',
              ordinal: [Function: ordinal],
              _dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
              _relativeTime: [Object],
              _months: [Array],
              _monthsShort: [Array],
              _week: [Object],
              _weekdays: [Array],
              _weekdaysMin: [Array],
              _weekdaysShort: [Array],
              _meridiemParse: /[ap]\.?m?\.?/i,
              _abbr: 'en',
              _config: [Object],
              _dayOfMonthOrdinalParseLenient: /\d{1,2}(th|st|nd|rd)|\d{1,2}/ },
           _d: 2019-03-14T23:00:00.000Z,
           _isValid: true }
...