Я хотел бы получить разницу во времени между Нью-Йорком и Гонконгом с модным модулем Node.js. Я сделал предварительную работу.Получить разницу во времени в часах с моментом
var NewYork_time_hr = moment().tz("America/New_York").format('HH');
var HongKong_time_hr = moment().tz("Asia/Hong_Kong").format('HH');
Затем я могу написать функцию для вычисления разницы между двумя часовыми часами в часах. Я надеялся на более простой метод.
Есть ли более элегантный и простой способ сделать это с помощью библиотеки минут?
Upvoted и выбран в качестве ответа. Я не совсем понимаю, зачем нужна «var now = moment.utc();'? Почему бы просто не получить 'NewYork_time_hr' смещение' HongKong_time_hr'? – user781486
Комментарий выше, это было изменение смещения по часовой стрелке в течение года, и [не все в одно и то же время] (https://en.wikipedia.org/wiki/Daylight_saving_time_by_country). Разница между Гонконгом (не имеет DST) и Нью-Йорком (имеет DST) отличается в зависимости от того, спрашиваете вы летом или зимой. И вы не можете просто использовать 'hr', потому что, например, Калькутта смещается на +05: 30. – Amadan
Отличный ответ. Хотя он также будет работать, если вы просто передадите 'moment()' вместо 'moment.utc()'. Он по-прежнему оценивается как одна и та же временная метка на основе UTC, независимо от того, какую форму вы проходите. +1 о том, что результат отличается в зависимости от того, когда вы его вызываете. «Сколько часов между Нью-Йорком и Лос-Анджелесом?» (Обычно 3, но иногда 2, а иногда 4.) –