如何添加持续时间?

时间:2012-11-29 14:05:16

标签: python xml datetime

我想使用Python 2.7在xml文件中添加持续时间属性。

import xml.etree.ElementTree as ET
import time

for k in root.findall('TC'):
    ttt= k.get('time')
    s = time.strptime(ttt, "%H:%M:%S")
    total_time = total_time + s

我无法使用+运算符,错误为unsupported operand types (+) None_Type, time.struct_time

如何将total_time定义为struct_time

1 个答案:

答案 0 :(得分:3)

您需要将struct_time组件转换为datetime.timedelta object才能明确处理持续时间:

import datetime
import time

total_time = datetime.timedelta()
for k in root.findall('TC'):
    ttt= k.get('time')
    s = time.strptime(ttt, "%H:%M:%S")
    total_time = total_time + datetime.timedelta(
        hours=s.tm_hour, minutes=s.tm_minute, seconds=s.tm_second)

否则将struct_time信息转换为持续时间并不容易;它实际上是指日期时间值,尽管使用.strptime()来解析持续时间并不是一个好主意。

您的total_time值现在是datetime.timedelta()个对象。要获得总秒数,请使用.total_seconds() method

print total_time.total_seconds()