我正在尝试解析使用 moment.js 创建的日期,并使用从此类 API 响应获取的时区:
{
"id": "MX",
"name": "Mexico",
"time_zone": "GMT-06:00"
}
我在react中创建了一个时刻对象,但我需要将其时区更改为API获取的时区,在本例中为“GMT-06:00”。
为此我有这个功能:
setDateTimezone(date) {
let timezone = this.state.siteData.time_zone;
return moment(date).tz(timezone).format();
}
它接收一个 moment 对象并用 tz 更改它的时区。
但是,这会返回以下错误:
Moment Timezone has no data for GMT-06:00.
我需要以某种方式将 API 时区格式解析为 Moment 接受的格式,并使用这个新时区创建一个新的 moment 对象。
非常感谢您的宝贵时间,祝您度过愉快的一天。
最佳答案
为此您不需要时刻时区。只需使用 Moment 中的 utcOffset 函数即可。它会忽略这些字母,所以你可以这样做:
moment(date).utcOffset('GMT-06:00').format()
关于javascript - Moment.js/时刻时区 : Format date with 'GMT-06:00' type date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54887433/