javascript - Moment.js/时刻时区 : Format date with 'GMT-06:00' type date

标签 javascript reactjs datetime momentjs

我正在尝试解析使用 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/

相关文章:

php - 根据页面更改主体类别

javascript - 当包含参数时,函数调用不起作用

javascript - 错误 Cloud Firestore addEventListener 不是函数#react-native #firestore

Python(pandas)将多个日期时间快速映射到其系列索引?

javascript - node.js 中的日期对象有一些奇怪的行为

javascript - 在 MODX 管理器中恢复弹出表单值

javascript - react native : How to add script tag in the component

reactjs - React - 每个组件的翻译

python - 从日期列表生成元组列表(年、月、days_in_month、full_month)

Javascript base64 编码函数返回未定义