Il doit y avoir un moyen plus simple de le faire. J'ai des objets qui veulent être actualisés de temps en temps, donc je veux enregistrer quand ils ont été créés, vérifier par rapport à l'horodatage actuel et actualiser si nécessaire.
datetime.datetime s'est avéré difficile, et je ne veux pas plonger dans la bibliothèque ctime. Y a-t-il quelque chose de plus facile pour ce genre de chose?
(b-a).microseconds
puis diviser cela pour obtenir les secondes (1000000) ou les millisecondes (1000)-60
:from datetime import datetime; (datetime(2019, 1, 1, 0, 0) - datetime(2019, 1, 1, 0, 1)).total_seconds()
Cela marcherait-il pour toi?
la source
(7 sera le temps que vous avez attendu un peu plus haut)
Je trouve que datetime.datetime est assez utile, donc s'il y a un scénario compliqué ou gênant que vous avez rencontré, veuillez nous en informer.
EDIT: Merci à @WoLpH pour avoir souligné que l'on ne cherche pas forcément à se rafraîchir si souvent que les dates-heures seront rapprochées. En tenant compte des jours dans le delta, vous pouvez gérer des écarts d'horodatage plus longs:
la source
d.seconds + d.days * 86400
place, c'est correct pour plusieurs jours;)a - b
, oùa
est avantb
(c'est-à-dire, le résultat sera donc négatif):(a - b).seconds == 86282
whilea - b == datetime.timedelta(-1, 86276, 627665)
. La bonne méthode, je crois, est d'utilisertimedelta.total_seconds()
… Mais c'est py2.7 + seulement.timedelta.total_seconds()
. Évalué en conséquence.total_seconds()
est une fonctionnalité 2.7+.Nous avons la fonction total_seconds () avec Python 2.7 Veuillez voir le code ci-dessous pour python 2.6
la source
Voici celui qui fonctionne pour moi.
J'espère que cela t'aides!
la source