Tem que haver uma maneira mais fácil de fazer isso. Eu tenho objetos que desejam ser atualizados de vez em quando, portanto, quero gravar quando eles foram criados, verificar o carimbo de data / hora atual e atualizar conforme necessário.
datetime.datetime provou ser difícil e não quero mergulhar na biblioteca ctime. Existe algo mais fácil para esse tipo de coisa?
(b-a).microseconds
e, em seguida, dividir esse para obter os segundos (1000000) ou milissegundos (1000)-60
:from datetime import datetime; (datetime(2019, 1, 1, 0, 0) - datetime(2019, 1, 1, 0, 1)).total_seconds()
isso funcionaria para você?
fonte
(7 será a quantidade de tempo que você esperou um pouco acima)
Acho que datetime.datetime é bastante útil; portanto, se você encontrou um cenário complicado ou estranho, informe-nos.
EDIT: Agradecemos a @WoLpH por apontar que nem sempre é necessário atualizar com tanta frequência que as datas estão próximas. Ao contabilizar os dias no delta, você pode lidar com discrepâncias de carimbo de data / hora mais longas:
fonte
d.seconds + d.days * 86400
, ele estará correto por vários dias;)a - b
, ondea
está antesb
(ou seja, o resultado será negativo):(a - b).seconds == 86282
whilea - b == datetime.timedelta(-1, 86276, 627665)
. O método correto, acredito, é usartimedelta.total_seconds()
... Mas isso é apenas py2.7 +.timedelta.total_seconds()
. Votado em conformidade.total_seconds()
é um recurso 2.7+.Temos a função total_seconds () com Python 2.7. Veja abaixo o código para python 2.6.
fonte
Aqui está o que está funcionando para mim.
Espero que isto ajude!
fonte