Как установить другой часовой пояс без изменения времени - PullRequest
0 голосов
/ 20 июня 2020

Учитывая момент времени, как изменить часовой пояс без изменения фактического времени?

Например, если у вас есть 2020-06-19 16:30:00+00, но вы хотите, чтобы это было в America/New_York часовом поясе.

Результатом будет 2020-06-19 16:30:00-04:00 (сейчас летнее время).

1 Ответ

0 голосов
/ 20 июня 2020

Вы можете сделать это с помощью функции .tz(.., true).

Из документов Moment Timezone (https://momentjs.com/timezone/docs/# / using-timezones / converting-to-zone / ):

При передаче второго параметра в качестве истины обновляется только часовой пояс (и смещение), при этом местное время остается неизменным. Следовательно, теперь он будет указывать на другой момент времени, если смещение изменилось.

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