У меня есть объект 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 }