首页 > 解决方案 > 在 moment.js 中从语言环境日期格式化 UTC

问题描述

我得到了这样一个对象:

data: {
    date: "2019-08-26"
    time: "05:00"
}

我也有我的时区:"Europe/Copenhagen"

moment.js考虑到我的日期数据来自时区,我想创建一个 UTC 日期。我该怎么做?

我尝试使用 utc 函数来手动连接字符串,但效果不佳。

编辑:我使用时刻时区,所以该tz()功能可用。我不想使用浏览器时区,但定义为"Europe/Copenhagen".

标签: javascripttypescriptdatemomentjsutc

解决方案


我用这个函数解决了这个问题:

returnIsoUtcString(data: {date: string, time: string}, timezone: string) {
    const time = data.time + ':00';
    const fullDateInIso = moment(data.date + 'T' + time, moment.ISO_8601);
    const utcString = fullDateInIso.tz(timezone).utc().format();
    return utcString;
  }

推荐阅读