Javascript:如何从 UTC 字符串和偏移量解析日期?

标签 javascript date typescript momentjs

场景

我有一个字符串格式的 UTC 日期和一个以分钟为单位的关联偏移量:

  • 日期:“2017-10-01T12:00:00.000Z”
  • 偏移:360

用户的浏览器位于山区标准时间 (-7) 时区。日期值是从中央标准时间 (-6) 时区记录的,并与其偏移量一起保存(因此偏移量为 360 分钟)。可以假设偏移量不包括夏令时。

问题

如何使用记录时区的偏移量来解析 UTC 日期?换句话说,尽管用户的浏览器是 MST,我仍然希望将日期显示为字符串,如“2017-10-01 6:00 AM”。不需要显示时区。是否可以使用时刻时区而不使用时区名称而仅使用不包括 DST 的偏移量?

最佳答案

这是你需要的吗?

const moment = require('moment');
moment
  .utc('2013-06-20T07:00:00.427')
  .zone(-360)
  .format();

在这里你会发现很多显示选项 -> http://momentjs.com/docs/#/displaying/

或者也许只是:

const date = new Date('2017-10-01T12:00:00.000Z');
date.setMinutes(-360);
date.toISOString();

关于Javascript:如何从 UTC 字符串和偏移量解析日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49000434/

相关文章:

javascript - 多人游戏中对手的移动 promise

javascript - 从头开始创建 Jquery UI Slider

javascript - Html/javascript页面跳转到div

javascript - 无法正确从对象键获取值

重新排列 data.frame 以获取产品的顺序

javascript - 有效检测数组中缺失的日期并注入(inject) null(highcharts 和 jquery)

php - Laravel 获取特定日期和月份的行

javascript - 是否可以在 typescript 中创建一个命名为 "fat-arrow"的 lambda?

javascript - 创建类的实例来调用静态方法

node.js - fs、缓冲区和流的 TypeORM 错误