momentjs 的时区不会改变

问题描述

我有这样的事情: 我的输入日期是 23.01.2021 00:00,我选择 America/New_York 并将其添加到 momentjs 中

const inputWithTimezone = input + timeZoneUtcFormatt;// e.g. 23.01.2021 00:00 +(-05:00)
  const patterns = [moment.ISO_8601,timestampPattern + 'Z'];
        parsedMoment = moment(inputWithTimezone,patterns,false));

如果现在打印 'parsedMoment',它会显示 (Central European Standard Time),但我通过添加 UTC 数字 (-5) 更改了它,为什么它没有将时区相应地更改为 america/new_york

Moment {_isAMomentObject: true,_i: "23.01.2021 00:00-05:00",_f: "DD.MM.YYYY HH:mmZ",_strict: false,_tzm: -300,…}
_d: Sat Jan 23 2021 01:00:00 GMT+0100 (Central European Standard Time) {}
_f: "DD.MM.YYYY HH:mmZ"
_i: "23.01.2021 00:00-05:00"
_isAMomentObject: true
_isUTC: true
_isValid: true
_locale: Locale {_calendar: {…},_longDateFormat: {…},_invalidDate: "Invalid date",_dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,ordinal: ƒ,…}
_offset: -300
_pf: {empty: false,unusedTokens: Array(0),unusedInput: Array(0),overflow: -1,charsLeftOver: 0,…}
_strict: false
_tzm: -300
__proto__: Object

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)