Tengo problemas para entender la conversión entre la zona horaria "Etc/GMT-5" y UTC en pytz.pytz y Etc/GMT-5
>>> dt = datetime(2009, 9, 9, 10, 0) # September 9 2009, 10:00
>>> gmt_5 = pytz.timezone("Etc/GMT-5")
>>> gmt_5.localize(dt)
datetime.datetime(2009, 9, 9, 10, 0, tzinfo=<StaticTzInfo 'Etc/GMT-5'>)
Todo está bien hasta ahora, pero entonces trato de convertir eso a UTC:
>>> gmt_5.localize(dt).astimezone(pytz.utc)
datetime.datetime(2009, 9, 9, 5, 0, tzinfo=<UTC>)
Así que me parece que cuando la conversión de 10:00 GMT-5 a UTC consigo 05:00? Esperaría que Pytz me diera las 15:00 en su lugar.
¿Qué me estoy perdiendo?
EDIT: He confirmado que la conversión de zona horaria de la zona horaria de Estados Unidos/Oriente trabaja del mismo modo que cabe esperar:
>>> eastern = pytz.timezone("US/Eastern")
>>> eastern.localize(dt)
datetime.datetime(2009, 9, 9, 10, 0, tzinfo=...) # Too long
>>> pytz.utc.normalize(eastern.localize(dt).astimezone(pytz.utc))
datetime.datetime(2009, 9, 9, 14, 0, tzinfo=<UTC>)
EDIT 2: He confirmado que cuando uso Etc/GMT +5 Tengo 15:00, que es lo que esperaría obtener de Etc/GMT-5. ¿Es esto un error de pytz?
¡Has vencido a mi propia respuesta en 23 segundos! :) –