以秒为单位的时差(作为浮点)

时间:2010-05-21 08:55:52

标签: python datetime floating-point

>>> 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 个答案:

答案 0 :(得分:38)

对于较新版本的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())

答案 1 :(得分:21)

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

答案 2 :(得分:7)

我不知道是否有更好的方法,但是:

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

或可能:

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