Получить смещение UTC и информацию о летнем времени для определенного часового пояса в узле?

Мне нужно получить смещение UTC и информацию о летнем времени для определенного часового пояса в node.js. Если я использую внешний веб-сервис, необходимо, чтобы используемый сервис был бесплатным с неограниченным количеством запросов, если это возможно.

Пример: если я указываю часовой пояс Европы/Рима в качестве параметра, мне нужно иметь 3600 в качестве смещения utc и 0 в качестве информации о летнем времени.

Я нашел timezonedb, но есть ограничение скорости, при котором вы можете отправлять запрос на сервер только один раз в секунду.


person Juan Menashsheh    schedule 18.12.2018    source источник
comment
Имейте в виду, что вы можете получить смещение для часового пояса только для определенного момента времени. Летнее время — не единственный способ изменения смещения часовых поясов во времени. Многие вносили изменения в свое стандартное время - иногда несколько раз!   -  person Matt Johnson-Pint    schedule 18.12.2018


Ответы (1)


Для всего, что связано со временем, вы должны изучить использование moment.js

Вот документация для moment.js Вот документация для часового пояса moment.js

Ниже взято из документации часового пояса moment.js.

var jun = moment("2014-06-01T12:00:00Z");
var dec = moment("2014-12-01T12:00:00Z");

jun.tz('America/Los_Angeles').format('ha z');  // 5am PDT
dec.tz('America/Los_Angeles').format('ha z');  // 4am PST

jun.tz('America/New_York').format('ha z');     // 8am EDT
dec.tz('America/New_York').format('ha z');     // 7am EST

Вы должны быть в состоянии найти правильные методы в зависимости от вашего варианта использования.

person Rastalamm    schedule 18.12.2018
comment
Спасибо, я использовал это: moment.utc().tz(zone_name).format('Z'); момент.utc().tz(имя_зоны).isDST(); - person Juan Menashsheh; 18.12.2018