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

poc*_*coa 27 python floating-point datetime

>>> from datetime import datetime
>>> t1 = datetime.now()
>>> t2 = datetime.now()
>>> delta = t2 - t1
>>> delta.seconds
7
>>> delta.microseconds
631000
Run Code Online (Sandbox Code Playgroud)

有没有办法让它成为7.631000?我可以使用时间模块,但我还需要将t1和t2变量作为DateTime对象.因此,如果有一个简单的方法来实现datettime,那就太棒了.否则它看起来很难看:

t1 = datetime.now()
_t1 = time.time()
t2 = datetime.now()
diff = time.time() - _t1
Run Code Online (Sandbox Code Playgroud)

dan*_*ann 42

对于较新版本的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())
Run Code Online (Sandbox Code Playgroud)


Edw*_*ale 22

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


Dou*_*der 7

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

((1000000 * delta.seconds + delta.microseconds) / 1000000.0)
Run Code Online (Sandbox Code Playgroud)

或者可能:

"%d.%06d"%(delta.seconds,delta.microseconds)
Run Code Online (Sandbox Code Playgroud)