Функция превращает количество секунд в удобночитаемые человеком значения времени.
def seconds_to_str(uptime):
"""
Функция принимает числовое значение секунд и возвращает строку в формате:
'3 нед., 1 дн., 18 час., 23 мин., 3 сек.'
Доли секунды округляются до секунд.
"""
seconds = ''
minutes = ''
hours = ''
days = ''
weeks = ''
uptime = round(uptime, 0)
if uptime >= 60:
minutes = uptime // 60
if minutes >= 60:
hours = minutes // 60
if hours >= 24:
days = hours // 24
if days >= 7:
weeks = days // 7
seconds, minutes, hours, days, weeks = str(int(uptime % 60)), str(int(minutes % 60)), str(
int(hours % 24)), str(int(days % 7)), str(int(weeks))
else:
seconds, minutes, hours, days = str(int(uptime % 60)), str(int(minutes % 60)), str(
int(hours % 24)), str(int(days))
else:
seconds, minutes, hours = str(int(uptime % 60)), str(int(minutes % 60)), str(int(hours))
else:
seconds, minutes = str(int(uptime % 60)), str(int(minutes))
else:
seconds = str(int(uptime // 1))
if weeks:
weeks = weeks + ' нед.,'
if days:
days = days + ' дн.,'
if hours:
hours = hours + ' час.,'
if minutes:
minutes = minutes + ' мин.,'
if seconds:
seconds = seconds + ' сек.'
res = weeks + ' ' + days + ' ' + hours + ' ' + minutes + ' ' + seconds
print(res.strip())
return res.strip()