моменты не в состоянии получить разницу во времени между часовыми поясами? - PullRequest
0 голосов
/ 23 февраля 2019

У меня есть строка даты на NodeJS

2019-02-25T09:00:00Z

Я создаю объект момента и устанавливаю часовой пояс на Нью-Йорк

let a = moment.tz("2019-02-25T09:00:00Z", "America/New_York");

Затем я создаю другой объект момента св то же время, но в другом месте, Аризона

let b = moment.tz("2019-02-25T09:00:00Z", "America/Phoenix");

console.log(a.diff(b));

печатает 0 миллисекунд.я ожидал бы получить 7200000 (разница во времени 2 часа).почему я не получаю эту разницу?

1 Ответ

0 голосов
/ 23 февраля 2019

"2019-02-25T09: 00: 00Z" означает "9 утра 25 февраля 2019 года, UTC ".Часть «Z» указывает на то, что значение указано в UTC.

Вы создали два значения, представляющих один и тот же момент времени, но в двух разных часовых поясах - поэтому они будут иметь разные значения локальные значения , но оба они представляют один и тот же момент, поэтому разница между ними равна 0.

Если вы хотите создать значение, представляющее "9 утра 25 февраля 2019 года, в данномчасовой пояс", затем просто удалите Z. (Я не знаю, что делает момент, если указанное вами значение является неоднозначным или пропущено из-за изменений смещения в часовом поясе, но это то, что вы должны исследовать, если высобираюсь сделать это с произвольными данными.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...