Разница во времени в секундах (как плавающая точка)

>>> from datetime import datetime
>>> t1 = datetime.now()
>>> t2 = datetime.now()
>>> delta = t2 - t1
>>> delta.seconds
7
>>> delta.microseconds
631000

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

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

Ответы

Ответ 1

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

Ответ 2

для более новой версии 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())

Ответ 3

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

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

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

"%d.%06d"%(delta.seconds,delta.microseconds)