如何在Python中获得timedelta的总小时数和分钟数

Tho*_*asD 21 python python-2.7

如何将超过24小时的timedelta返回或转换为包含总小时数和分钟数(例如26:30)而不是"1天2:30"的对象?

Sim*_*ser 32

您可以使用total_seconds()计算秒数.然后可以将其转换为几分钟或几小时:

>>> datetime.timedelta(days=3).total_seconds()
259200.0
Run Code Online (Sandbox Code Playgroud)

  • 正确答案,但添加简单的`// 60`和`%60`用于将其转换成(小时,天)对是有帮助的! (2认同)

G M*_*G M 13

使用timedelta.total_seconds()以下方法完成Visser的答案:

import datetime
duration = datetime.timedelta(days = 2, hours = 4, minutes = 15)
Run Code Online (Sandbox Code Playgroud)

一旦我们得到一个timedelta对象:

totsec = duration.total_seconds()
h = totsec//3600
m = (totsec%3600) // 60
sec =(totsec%3600)%60 #just for reference
print "%d:%d" %(h,m)

Out: 52:15
Run Code Online (Sandbox Code Playgroud)