У конкретного банка есть ветки во всех крупных городах мира. Все они открыты в 10:00 по местному времени. Если в часовом поясе, который использует DST, то, конечно, время локального открытия также следует за временем, скорректированным на DST. Итак, как мне перейти с локального времени на время utc.
Мне нужна функция to_utc(localdt, tz)
следующим образом:
Аргументы:
- localdt: localtime, как наивный объект datetime, DST-скорректированный
- tz: часовой пояс в TZ-формате, например. 'Europe/Berlin
Возврат:
- объект datetime, в формате UTC, с учетом часовых поясов
ИЗМЕНИТЬ:
Самая большая проблема заключается в том, чтобы определить, находится ли местное время в периоде с DST, что также означает, что он настроен на DST.
Для "Европы/Берлина", где летом летает +1 DST:
- 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