我正在使用 moment 来设置/更改日期对象的时区,而不是任何其他日期/时间值
这就是我目前正在做的事情:
const moment = require("moment-timezone");
const dateNew = moment.tz(accountDate, "US/Pacific");
这是 accountDate 值:Mon Jul 08 2019 06:05:22 GMT-0400(东部夏令时间)
我想将其更改为:Mon Jul 08 2019 06:05:22 GMT-0700(太平洋夏令时间)
但dateNew
仍处于EDT时区。
the output of `console.log(dateNew)` is :
Moment {_isAMomentObject: true, _i: Mon Jul 08 2019 06:05:22 GMT-0400 (Eastern Daylight Time), _isUTC: true, _pf: {…}, _locale: Locale, …}
_d: Sun Jul 07 2019 23:05:22 GMT-0400 (Eastern Daylight Time) {}
_i: Mon Jul 08 2019 06:05:22 GMT-0400 (Eastern Daylight Time) {}
_isAMomentObject: true
_isUTC: true
_isValid: true
_locale: Locale {_calendar: {…}, _longDateFormat: {…}, _invalidDate: "Invalid date", ordinal: ƒ, _dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, …}
_offset: -420
_pf: {empty: false, unusedTokens: Array(0), unusedInput: Array(0), overflow: -2, charsLeftOver: 0, …}
_z: Zone {name: "US/Pacific", abbrs: Array(186), untils: Array(186), offsets: Array(186), population: 15000000}
__proto__: Object
但是 console.log(new Date(dateNew))
给出以下输出。
Mon Jul 08 2019 06:05:22 GMT-0400 (Eastern Daylight Time)
请帮忙。谢谢
最佳答案
您确实正在更改时区,一切正常,只需添加一个 format(),我还没有足够的声誉来对此发表评论,哈哈,但是您为什么使用 Date(),只需坚持 moment( )
const dateNew = moment.tz(accountDate, "US/Pacific").format();
console.log(dateNew)
关于javascript - 如何更改日期对象的时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56939310/