的Python:日期时间,防止时间演变为日,小时格式时,上述24小时

问题描述:

比方说,我有两次的Python:日期时间,防止时间演变为日,小时格式时,上述24小时

import datetime  
x = '23:55:00' 
y = '01:07:00' 

当他们加在一起使用:

x = datetime.datetime.strptime(x, '%H:%M:%S') 
y = datetime.datetime.strptime(y, '%H:%M:%S') 
x = datetime.timedelta(hours=x.hour ,minutes=x.minute, seconds=x.second) 
y = datetime.timedelta(hours=y.hour, minutes=y.minute, seconds=y.second) 
z = x + y 

结果:

z = '1 day, 01:02:00' 

有没有一种方法,使结果:

z = '25:02:00' 
+0

虽然这不是一个有效的时间格式吗? –

+0

所以你想要两个日期时间对象之间的小时数,分钟数和秒数? – Henry

+0

如果可能的话,我想花几个小时来翻身。我可以使用正则表达式和一些字符串操作来转换最终结果,但我想知道是否有一个简单的方法 – toshbar

要获取timedelta对象的总小时数,可以调用timedelta对象上的total_seconds()方法,然后使用整数除法以小时数(3600)中的秒数除。

hours = z.total_seconds() // 3600 
+0

这适用于我正在尝试的操作 – toshbar