Python 2.7 如何在Python2.7中获得大于24小时的小时值?
输出:Python 2.7 如何在Python2.7中获得大于24小时的小时值?,python-2.7,Python 2.7,输出: 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 如何获得输出74:18:00?使用总秒数/3600只能获得十进制格式的小时数 您可以使用将秒分解为完整的小时、分钟和秒: divmod(a,b) 取两个(非复数)数作为参数,使用长除法时
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
如何获得输出74:18:00?使用
总秒数/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)
第一个divmod
的结果为74小时(商),剩余时间为1114秒。
第二个divmod
与之前(1114)线路的剩余秒数一起馈送,并给出18分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