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