Разница во времени в секундах (как с плавающей точкой) - PullRequest
26 голосов
/ 21 мая 2010
>>> from datetime import datetime
>>> t1 = datetime.now()
>>> t2 = datetime.now()
>>> delta = t2 - t1
>>> delta.seconds
7
>>> delta.microseconds
631000

Есть ли способ получить это как 7.631000? Я могу использовать модуль времени, но мне также нужны переменные t1 и t2 как объекты DateTime. Так что, если есть простой способ сделать это с datettime, это было бы здорово. В противном случае это будет выглядеть ужасно:

t1 = datetime.now()
_t1 = time.time()
t2 = datetime.now()
diff = time.time() - _t1

Ответы [ 3 ]

39 голосов
/ 17 июня 2014

для более новой версии Python (Python 2.7+ или Python 3+), вы также можете использовать метод total_seconds:

from datetime import datetime
t1 = datetime.now()
t2 = datetime.now()
delta = t2 - t1
print(delta.total_seconds())
21 голосов
/ 21 мая 2010

combined = delta.seconds + delta.microseconds/1E6

7 голосов
/ 21 мая 2010

Не знаю, есть ли лучший способ, но:

((1000000 * delta.seconds + delta.microseconds) / 1000000.0)

или, возможно:

"%d.%06d"%(delta.seconds,delta.microseconds)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...