Должен быть более простой способ сделать это. У меня есть объекты, которые нужно обновлять время от времени, поэтому я хочу записывать, когда они были созданы, проверять текущую временную метку и обновлять при необходимости.
datetime.datetime оказался трудным, и я не хочу погружаться в библиотеку ctime. Есть ли что-нибудь проще для такого рода вещей?
(b-a).microseconds
а затем разделить их, чтобы получить секунды (1000000) или миллисекунды (1000)-60
:from datetime import datetime; (datetime(2019, 1, 1, 0, 0) - datetime(2019, 1, 1, 0, 1)).total_seconds()
будет ли это работать для вас?
источник
(7 будет любым количеством времени, которое вы ждали чуть выше)
Я считаю datetime.datetime довольно полезным, поэтому, если вы столкнулись со сложным или неловким сценарием, сообщите нам об этом.
РЕДАКТИРОВАТЬ: Спасибо @WoLpH за указание, что не всегда нужно обновляться так часто, что даты и время будут близки друг к другу. Учет дней в дельте позволяет обрабатывать более длинные расхождения в отметках времени:
источник
d.seconds + d.days * 86400
вместо этого, это правильно для нескольких дней;)a - b
, гдеa
есть передb
тем (то есть, так что результат будет отрицательным): в(a - b).seconds == 86282
то времяa - b == datetime.timedelta(-1, 86276, 627665)
. Правильный метод, я считаю, заключается в использованииtimedelta.total_seconds()
... Но это только py2.7 +.timedelta.total_seconds()
. Проголосовал соответственно.total_seconds()
это 2.7+ особенность.У нас есть функция total_seconds () с Python 2.7. Пожалуйста, смотрите код ниже для Python 2.6.
источник
Вот тот, который работает для меня.
Надеюсь это поможет!
источник