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

用Python计算时间(datetime.timedelta?),python,datetime,Python,Datetime,我相信这对你们很多人来说都是无稽之谈,但我发现自己真的对整个datetime.timedelta的事情感到困惑。基本上,当我开始startTime时,我会给某个东西加上时间戳,然后给过程的结束加上时间戳endTime,我试图得到HH:MM:SS的差异,但我没有运气 我在打印endTime-startTime时出现此错误: TypeError: unsupported operand type(s) for -: 'datetime.time' and 'datetime.time' 编辑以包括

我相信这对你们很多人来说都是无稽之谈,但我发现自己真的对整个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]
startTime=datetime.now()
endTime=datetime.now()
计算时间=结束时间-开始时间
打印str(计算时间)[:-4]

这将输出到:H:MM:SS.MM(因此,从
timedelta
中去掉最后4个字符,使用
datetime
而不是
time
。如果没有日期,从另一个时间中减去一个时间是没有意义的;你不能仅仅假设它们在同一天,左操作数排在第一位。

取决于你对信息所做的操作,你会发现我只想使用:


这将以秒为单位显示经过的时间。这通常比使用
timedelta

datetime.datetime
datetime.date
支持减法,但
datetime.time
不支持减法。请尝试改用
datetime.datetime
import time

starttime = time.time()

# do stuff

endtime = time.time()

elapsed = endtime - starttime
print elapsed