我确信这对你们很多人来说是一个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
答案 0 :(得分:10)
使用datetime
代替time
。如果没有约会,从另一次减去一次是没有意义的;你不能只假设它们在同一天,而左操作数是第一个。
答案 1 :(得分:5)
根据您对信息的处理方式,您可能只想使用time.time
:
import time
starttime = time.time()
# do stuff
endtime = time.time()
elapsed = endtime - starttime
print elapsed
这将为您提供以秒为单位的经过时间。这通常比拥有timedelta
更方便。