Конкретна банка има клонове във всички големи градове по света. Всички те отварят в 10:00 сутринта местно време. Ако в рамките на часова зона, която използва лятно часово време, тогава, разбира се, местното време на отваряне също следва коригираното лятно време. И така, как да премина от местното време към UTC времето.
Това, от което се нуждая, е функция to_utc(localdt, tz)
като тази:
Аргументи:
- localdt: местно време, като наивен обект за дата и час, коригирано лятно време
- tz: часова зона във формат TZ, напр. "Европа/Берлин"
Се завръща:
- обект за дата и час, в UTC, съобразен с часовата зона
РЕДАКТИРАНЕ:
Най-голямото предизвикателство е да се установи дали местното време е в период с DST, което също означава, че е коригирано 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
pytz
описва, че преходите към DST не работят за никоя часова зона, която има такава. Ако пакет, създаден специално за помощ с часови зони, не поддържа това, тогава е твърде много работа за вас да свършите правилно сами. Ще трябва да се задоволите с почти правилно. - person agf   schedule 23.07.2011