time1 = timedelta(days=2, hours=6.20)
time2 = timedelta(hours=20.10)
sum_time = time1 + time2
print str(sum_time)
print sum_time.total_seconds() / 3600
输出:
3 days, 2:18:00
74.3
如何获得输出74:18:00?
使用total_Seconds / 3600
,您只能获得十进制格式的小时数。
您可以使用divmod
将秒分解为整小时、分钟和秒:
迪莫德(a, b(
将两个(非复数(数作为参数,并在使用长除法时返回一对由它们的商和余数组成的数字
代码如下所示(我在 time2 中添加了 34 秒以检查秒部分是否正确(:
from datetime import timedelta
time1 = timedelta(days=2, hours=6.20)
time2 = timedelta(hours=20.10, seconds=34)
sum_time = time1 + time2
print str(sum_time)
hours, seconds = divmod(sum_time.total_seconds(), 3600)
minutes, seconds = divmod(seconds, 60)
print "%d:%02d:%02d" % (hours, minutes, seconds)
输出将是:
3 days, 2:18:34
74:18:34
第一个divmod
的结果是 74 小时(商(,剩余时间为 1114 秒。 第二个divmod
从前面的行 (1114( 馈送剩余秒数,并给出 18 分 34 秒的结果。