默认情况下
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'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)