用Python计算时间(datetime.timedelta?)

时间:2011-08-15 03:31:27

标签: python datetime

我确信这对你们很多人来说是一个nobrainer,但我发现自己真的很困惑整个datetime.timedelta的事情。基本上,当我开始startTime然后我为进程结束时间戳endTime时,我会给时间戳加上时间戳,我试图在HH中找到差异:MM:SS并且没有运气。

打印endTime - startTime时出现此错误:

TypeError: unsupported operand type(s) for -: 'datetime.time' and 'datetime.time'

编辑包括最终结果:

startTime = datetime.now()
<... my looping process ...>
endTime = datetime.now()
calcdTime = endTime - startTime
print str(calcdTime)[:-4]

输出到:H:MM:SS.MM(从而剥离timedelta

之后的最后4个字符

2 个答案:

答案 0 :(得分:10)

使用datetime代替time。如果没有约会,从另一次减去一次是没有意义的;你不能只假设它们在同一天,而左操作数是第一个。

答案 1 :(得分:5)

根据您对信息的处理方式,您可能只想使用time.time

import time

starttime = time.time()

# do stuff

endtime = time.time()

elapsed = endtime - starttime
print elapsed

这将为您提供以秒为单位的经过时间。这通常比拥有timedelta更方便。