Pregunta

Estaba trabajando en algunos scripts de Python para calcular el tiempo dedicado desde una fecha anterior, y sorprendentemente obtuve un resultado negativo. Me di cuenta de que el problema puede estar en el tiempo.mktime función. Obtenamos este código:

import time
import datetime

before = datetime.datetime(2010, 10, 17, 0, 0, 0)
after = datetime.datetime(2010, 10, 17, 1, 0, 0)

print "%s = %f" % (before, time.mktime(before.timetuple()))
print "%s = %f" % (after, time.mktime(after.timetuple()))

En mi Python 2.6.4 de 32 bits Linux, la salida es:

2010-10-17 00:00:00 = 1287284400.000000
2010-10-17 01:00:00 = 1287284400.000000

¡La misma marca de tiempo para diferentes momentos! ¿Estoy haciendo algo mal?

¿Fue útil?

Solución

No. DST en Brasil Comenzó el 17 de octubre de 2010, entonces falta una hora.

Otros consejos

Tenga en cuenta que MKTime le brinda la representación de su hora local, con un ahorro de luz de día si corresponde a la localidad de su sistema. Esto puede conducir a algunos comportamientos extraños.

Puede que prefiera calendario.timegm lo que te da tiempo UTC.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top