Un banco específico tiene sucursales en las principales ciudades del mundo. Todos abren a las 10:00 a.m. hora local. Si dentro de una zona horaria utiliza el horario de verano, entonces, por supuesto, el horario de apertura local también sigue el horario ajustado por horario de verano. Entonces, ¿cómo puedo pasar de la hora local a la hora exacta?Python: desde hora local ajustada por DST a UTC
Lo que necesito es una función to_utc(localdt, tz)
así:
Argumentos:
- localdt: hora local, como objeto de fecha y hora ingenuo, DST-ajustado
- tz: zona horaria en el TZ-formato, p.ej 'Europa/Berlín'
Devuelve:
- objeto de fecha y hora, en UTC, zona horaria consciente
EDIT:
El mayor reto es detectar si la hora local está en un período con horario de verano, lo que también significa que está ajustado en horario de verano.
Para 'Europe/Berlin' que tiene 1 DST en el verano:
- 1 ª Ene 10:00 => Jan 1 ª 09:00 GMT
- de julio de 1 ª 10:00 => 1st de julio de 08:00 GMT
Por 'África/Lagos', que no tiene el horario de verano:
- 1 ª Ene 10:00 => Jan 1 ª 09:00 GMT
- primero de julio de 10:00 primera => Julio 09:00 GMT
escollo: 27 Marzo 2011 a las 01:00, los relojes se establecieron adelante a 02:00. Entonces el intervalo entre 01:00 y 02:00 no es válido. 30 de octubre de 2011 a la 01:00, los relojes volverán a las 00:00. Entonces el intervalo entre 00:00 y 01:00 es ambiguo. –
'pytz' describe que las transiciones DST no funcionan para ninguna zona horaria que tenga una. Si un paquete creado específicamente para ayudar con las zonas horarias no es compatible con eso, entonces es demasiado trabajo para que usted lo haga correctamente. Tendrá que conformarse con casi la derecha. – agf