如何以小时:分钟:秒显示timedelta?

如何以小时:分钟:秒显示timedelta?,第1张

如何以小时:分钟:秒显示timedelta?

默认情况下

str()
,a的转换
timedelta
将始终包括该
days
部分。在内部,该值始终以天,秒和微秒为单位进行归一化,由于没有跟踪单独的小时组成部分,因此试图将“天”转换为小时毫无意义。

如果要以其他方式设置

timedelta()
对象格式,则可以轻松地手动进行设置:

def format_timedelta(td):    minutes, seconds = divmod(td.seconds + td.days * 86400, 60)    hours, minutes = divmod(minutes, 60)    return '{:d}:{:02d}:{:02d}'.format(hours, minutes, seconds)

这会忽略任何微秒部分,但会微不足道地添加:

return '{:d}:{:02d}:{:02d}.{:06d}'.format(hours, minutes, seconds, td.microseconds)

演示:

>>> format_timedelta(timedelta(days=2, hours=10, minutes=20, seconds=3))'58:20:03'>>> format_timedelta(timedelta(hours=10, minutes=20, seconds=3))'10:20:03'


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5654878.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存