如何将秒转换为小时、分钟和秒?

2024-04-24 18:12:45 发布

您现在位置:Python中文网/ 问答频道 /正文


Tags: python
3条回答

我很难用一种简单的方法来命名(至少我记不住语法),但是可以使用time.strftime,它可以提供对格式的更多控制:

from time import strftime
from time import gmtime

strftime("%H:%M:%S", gmtime(666))
'00:11:06'

strftime("%H:%M:%S", gmtime(60*60*24))
'00:00:00'

gmtime用于将秒转换为strftime()所需的特殊元组格式。

Note: Truncates after 23:59:59

通过使用^{}函数(它只做一个除法来产生商和余数),只需两次数学运算就可以很快得到结果:

m, s = divmod(seconds, 60)
h, m = divmod(m, 60)

然后使用string formatting将结果转换为所需的输出:

print('{:d}:{:02d}:{:02d}'.format(h, m, s)) # Python 3
print(f'{h:d}:{m:02d}:{s:02d}') # Python 3.6+

您可以使用^{}函数:

>>> import datetime
>>> str(datetime.timedelta(seconds=666))
'0:11:06'

相关问题 更多 >