Получение часовых поясов со смещением utc

существует ли модуль или публичный API, который, задав смещение UTC, возвращает список всех часовых поясов в этом смещении?

Например, при UTC+2 он возвращает следующий список: Африка/Блантайр Африка/Бужумбура Африка/Каир Африка/Габороне Африка/Хараре Африка/Йоханнесбург Африка/Джуба Африка/Хартум Африка/Кигали Африка/Лубумбаши Африка/Лусака Африка/Мапуто Африка/Масеру Африка/Мбабане Африка/Триполи Африка/Виндхук Азия/Амман Азия/Бейрут Азия/Дамаск Азия/Фамагуста Азия/Газа Азия/Хеврон Азия/Иерусалим Азия/Никосия Европа/Афины Европа/Бухарест Европа/Кишинев Европа/Хельсинки Европа/Калининград Европа/Киев Европа/Мариехамн Европа/Рига Европа/София Европа/Таллинн Европа/Ужгород Европа/Вильнюс Европа/Запорожье

Из-за перехода на летнее время, результат зависит от текущего времени.

>>> for zone in sorted(zoneinfo.available_timezones()):
...     tz = zoneinfo.ZoneInfo(zone)
...     if datetime.datetime.now(tz).utcoffset() == datetime.timedelta(hours=2):
...         print(tz)
Africa/Blantyre
Africa/Bujumbura
Africa/Cairo
Africa/Gaborone
Africa/Harare
Africa/Johannesburg
Africa/Juba
Africa/Khartoum
Africa/Kigali
Africa/Lubumbashi
Africa/Lusaka
Africa/Maputo
Africa/Maseru
Africa/Mbabane
Africa/Tripoli
Africa/Windhoek
Asia/Amman
Asia/Beirut
Asia/Damascus
Asia/Famagusta
Asia/Gaza
Asia/Hebron
Asia/Jerusalem
Asia/Nicosia
Asia/Tel_Aviv
EET
Egypt
Etc/GMT-2
Europe/Athens
Europe/Bucharest
Europe/Chisinau
Europe/Helsinki
Europe/Kaliningrad
Europe/Kiev
Europe/Mariehamn
Europe/Nicosia
Europe/Riga
Europe/Sofia
Europe/Tallinn
Europe/Tiraspol
Europe/Uzhgorod
Europe/Vilnius
Europe/Zaporozhye
Israel
Libya

Python 3.9+ требуется для модуля stdlib zoneinfo.

Вернуться на верх