我试图在py2.7上创建一个代码来计算HH:MM:SS的时间格式的时差,并将其转换为秒。
结果我不得不像这样打电话秒:
timediff = a-b
seconds = timediff.total_seconds() #This was the simple solution
我收到的错误是:
AttributeError: 'datetime.timedelta' object has no attribute 'split'
感谢Ajay和J.F. Sebastian的解决方案
答案 0 :(得分:1)
您可以使用totalseconds()
datetime.timedelta
In [4]: t = time.strptime('00:01:25','%H:%M:%S')
In [5]: datetime.timedelta(hours=t.tm_hour,minutes=t.tm_min,seconds=t.tm_sec).total_seconds()
Out[5]: 85.0
对于你的例子:
In [14]: t1='00:01:25'
In [15]: t2='00:01:10'
In [17]: t1 = time.strptime(t1,'%H:%M:%S')
In [18]: t2 = time.strptime(t2,'%H:%M:%S')
In [22]: datetime.timedelta(hours=t1.tm_hour,minutes=t1.tm_min,seconds=t1.tm_sec).total_seconds()-datetime.timedelta(hours=t2.tm_hour,minutes=t2.tm_min,seconds=t2.tm_sec).total_seconds()
Out[22]: 15.0
答案 1 :(得分:0)
AttributeError:'datetime.timedelta'对象没有属性'split'
你几乎就在那里。代码中的timediff
为datetime.timedelta
。要获得秒数,只需致电seconds = timediff.total_seconds()
。