Получить время по Гринвичу на основе параметра «Время и часовой пояс»

Мне нужно запланировать работу ежедневно в 1:30, здесь 1:30 зависит от часового пояса.

Например:
Америка/Чикаго – вывод в 1:30 должен быть 06:30 по Гринвичу.
Азия/Калькутта – вывод в 1:30 должен быть 20:00 по Гринвичу.
Азия/Кабул - Выход 1:30 должен быть 21:00 по Гринвичу.

Я хочу создать функцию, которая будет принимать часовой пояс (Америка/Чикаго) и базовое время (1:30) в качестве входных данных, а на выходе должно быть 06:30 по Гринвичу


person BabyYoda    schedule 26.05.2021    source источник
comment
Вам нужна дата, а также местоположение, чтобы определить правильное смещение, так как переход на летнее время может действовать или не действовать. Вы должны проанализировать строку на дубликат, т.е. включить формат строки для анализа.   -  person RobG    schedule 27.05.2021
comment
@RobG, значит, ответ, который я разместил ниже, правильный, или мне нужно что-то изменить?   -  person BabyYoda    schedule 27.05.2021


Ответы (1)


// const moment = reqimpuire("moment-timezone");

function toTimeZone(zone) {
  const time = moment.tz("2013-11-18 01:30:00", zone);
  const utc = moment.utc(time).format();
  console.log(utc);
}
toTimeZone("Africa/Tripoli");
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment-with-locales.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.9/moment-timezone-with-data.min.js"></script>

Я решил проблему, используя приведенный выше код.

person BabyYoda    schedule 26.05.2021