如何在 python 2.7 中获取大于 24 小时的小时值?


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 秒的结果。

最新更新