用Python计算时间(datetime.timedelta?)
我相信这对你们很多人来说都是无稽之谈,但我发现自己真的对整个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' 编辑以包括
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