首页 > 解决方案 > 如何在不更改时间的情况下设置不同的时区

问题描述

给定时间,如何在不更改实际时间的情况下更改时区?

例如,如果您有2020-06-19 16:30:00+00但您希望在America/New_York时区中使用它。

输出将是2020-06-19 16:30:00-04:00(当前夏令时)。

标签: momentjsmoment-timezone

解决方案


您可以通过使用该.tz(.., true)功能来做到这一点。

从时刻时区文档(https://momentjs.com/timezone/docs/#/using-timezones/converting-to-zone/):

在传递第二个参数为 true 时,仅更新时区(和偏移量),保持本地时间相同。因此,如果偏移量发生了变化,它现在将指向不同的时间点。

m.format();                           // 2013-11-18T11:55:00-05:00
m.tz('Europe/Berlin', true).format()  // 2013-11-18T11:55:00+01:00

推荐阅读