Tiene que haber una manera más fácil de hacer esto. Tengo objetos que desean actualizarse de vez en cuando, por lo que quiero registrar cuándo se crearon, comparar con la marca de tiempo actual y actualizar según sea necesario.
datetime.datetime ha demostrado ser difícil, y no quiero sumergirme en la biblioteca ctime. ¿Hay algo más fácil para este tipo de cosas?
(b-a).microseconds
y luego dividir eso para obtener los segundos (1000000) o milisegundos (1000)-60
:from datetime import datetime; (datetime(2019, 1, 1, 0, 0) - datetime(2019, 1, 1, 0, 1)).total_seconds()
¿Eso funcionaría para ti?
fuente
(7 será la cantidad de tiempo que haya esperado un poco más arriba)
Considero que datetime.datetime es bastante útil, por lo que si hay un escenario complicado o incómodo que haya encontrado, háganoslo saber.
EDITAR: Gracias a @WoLpH por señalar que no siempre se busca necesariamente actualizar con tanta frecuencia que las fechas y fechas estarán muy juntas. Al contabilizar los días en el delta, puede manejar discrepancias de marca de tiempo más largas:
fuente
d.seconds + d.days * 86400
, es correcto por varios días;)a - b
, dondea
está antesb
(es decir, el resultado será negativo):(a - b).seconds == 86282
whilea - b == datetime.timedelta(-1, 86276, 627665)
. El método correcto, creo, es usartimedelta.total_seconds()
... Pero eso es solo py2.7 +.timedelta.total_seconds()
. Voto en contra en consecuencia.total_seconds()
es una característica 2.7+.Tenemos la función total_seconds () con Python 2.7. Consulte el siguiente código para python 2.6
fuente
Aquí está el que me está funcionando.
¡Espero que esto ayude!
fuente