Python - От местного времени с поправкой на летнее время до всемирного координированного времени

У конкретного банка есть отделения во всех крупных городах мира. Все они открываются в 10:00 по местному времени. Если в пределах часового пояса, который использует DST, то, конечно, местное время открытия также следует за скорректированным временем DST. Итак, как мне перейти с местного времени на универсальное время.

Мне нужна функция to_utc (localdt, tz) вроде этого:

Аргументы:

  • localdt: localtime, как наивный объект datetime, с поправкой на летнее время
  • tz: timezone в TZ-формате, например 'Europe / Berlin'

Возвращает:

  • объект datetime в формате UTC, с учетом часового пояса

РЕДАКТИРОВАТЬ:

Самая большая проблема заключается в том, чтобы определить, соответствует ли местное время периоду с летним временем, что также означает что это DST настроено.

Для Европы / Берлина, где летом +1 летнее время:

  • 1 января 10:00 => 1 января 9:00 UTC
  • 1 июля 10:00 => 1 июля 8:00 UTC

Для "Африка / Лагос" без летнего времени:

  • 1 января 10:00 => 1 января 9:00 UTC
  • 1 июля 10:00 => 1 июля 9:00 UTC
7
задан unutbu 11 August 2013 в 00:40
поделиться