python用dict计算时间差

如果使用字典描述一个时间,例如t={“hour”:12,“minute”:23,“second”:34}
时间为“12:23:34”,设计一个函数inerval(t1,t2),计算t1,t2的时间差
返回相同的结构的一个字典时间

写了个简单的实现。把t1、t2转为总秒数,再分别计算时、分、秒:

def inerval(t1, t2):
    time1 = t1['hour'] * 3600 + t1['minute'] * 60 + t1['second']
    time2 = t2['hour'] * 3600 + t2['minute'] * 60 + t2['second']
    second = abs(time1-time2) % 60
    hour = (abs(time1-time2) - second) // 3600
    minute = (abs(time1-time2) - second - hour * 3600) // 60
    return {'hour': hour, 'minute': minute, 'second': second}


t1 = {'hour': 10, 'minute': 0, 'second': 0}
t2 = {'hour': 12, 'minute': 30, 'second': 30}
print(inerval(t1, t2))

参见知识点:python标准库:datetime模块。目前中文化进程尚未完全覆盖此模块。如有生啃英文的能力,欢迎加入python中文化项目。