Как найти версию базы данных часовых поясов при использовании `arrow` или`dateutil`?

Я использую arrow модуль для Python для работы с часовыми поясами. Насколько я понимаю, он опирается на dateutil модуль для информации о часовых поясах. dateutil претензии:

Внутренняя актуальная информация о часовом поясе мира, основанная на базе данных Олсона.

Я только нашел c:\Python34\Lib\site-packages\dateutil\zoneinfo\dateutil-zoneinfo.tar.gz который, кажется, используется. Я вычитал, что он загружен с http://www.iana.org/time-zones, однако он до сих пор не дает никаких намеков на то, что это версия базы данных.

Есть ли способ узнать, какая версия базы данных Олсона используется arrow модуль?

1 ответ

Решение

Да, стрелка зависит от dateutil для данных tz.

К сожалению, dateutil не сохраняет номер версии tzdb при создании файла данных, поэтому он не доступен во время выполнения.

Ходить по исходному коду dateutil:

  • Номер версии можно увидеть в tzdata_file в zonefile_metadata.json.

  • В updatezinfo.py имя файла передается из метаданных в rebuild функция,

  • В rebuild функция, вы можете увидеть, что данные из файла загружены, но само имя файла не сохраняется, как и VERSION постоянное чтение из make-файла tzdata.

Если эта функция важна для вас, я предлагаю открыть запрос функции в трекере проблем dateutil.

Другие вопросы по тегам