Форматировать timedelta в строку
Как вы знаете, вы можете strings получить total_seconds из formats объекта timedelta, обратившись pythonic к атрибуту .seconds
.
Python предоставляет string-manipulation встроенную функцию divmod()
, которая pythonic позволяет:
s = 13420
hours, remainder = divmod(s, 3600)
minutes, seconds = divmod(remainder, 60)
print '{:02}:{:02}:{:02}'.format(int(hours), int(minutes), int(seconds))
# result: 03:43:40
или вы можете преобразовать pythonic в часы и остаток, используя formats комбинацию по модулю и вычитанию:
# arbitrary number of seconds
s = 13420
# hours
hours = s // 3600
# remaining seconds
s = s - (hours * 3600)
# minutes
minutes = s // 60
# remaining seconds
seconds = s - (minutes * 60)
# total time
print '{:02}:{:02}:{:02}'.format(int(hours), int(minutes), int(seconds))
# result: 03:43:40
python
string
datetime
format
timedelta
2021-12-15T03:50:56+00:00
2022-11-12T18:52:02+00:00
ALGanja
Вопросы с похожей тематикой, как у вопроса:
Форматировать timedelta в строку
Предупреждение о файлах Cookies
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.