我相信对于很多人来说这都不是什么难事,但我发现自己在处理datetime.timedelta时有些困惑。基本上,我会在开始时记录某个时间戳startTime
,然后在进程结束时记录另一个时间戳endTime
,并且我想要计算它们之间的HH:MM:SS的差异,但一直无法成功。
当我执行print 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个字符)。
datetime.datetime
和datetime.date
支持减法运算,但是datetime.time
不支持。请尝试使用datetime.datetime
代替。 - Rafe Kettler