argentina - timedelta python example
Python-calendar.timegm() vs. time.mktime() (2)
time.mktime()
asume que la tupla pasada está en hora local, calendar.timegm()
asume que está en GMT / UTC. Dependiendo de la interpretación, la tupla representa un tiempo diferente, por lo que las funciones devuelven valores diferentes (segundos desde la época en UTC).
La diferencia entre los valores debe ser igual al desplazamiento de zona horaria de su zona horaria local.
Parece que me cuesta mucho entender esto.
¿Cuál es la diferencia entre calendar.timegm()
y time.mktime()
?
Digamos que tengo un datetime.datetime
sin tzinfo adjunto, ¿no deberían los dos dar el mismo resultado? ¿No dan ambos el número de segundos entre la época y la fecha pasada como parámetro? Y como la fecha pasada no tiene tzinfo, ¿no es la misma cantidad de segundos?
>>> import calendar
>>> import time
>>> import datetime
>>> d = datetime.datetime(2010, 10, 10)
>>> calendar.timegm(d.timetuple())
1286668800
>>> time.mktime(d.timetuple())
1286640000.0
>>>
calendar.timegm
convierte desde la marca de hora UTC, time.mktime() .
La diferencia de 8 horas en sus resultados corresponde exactamente a la zona horaria de su ubicación.