/
review
/
bot
Обзор
Документация
Войти
/
review
/
bot
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
src/utils/formatDuration/formatDuration.ts
43 строки
976 B
Semyon Okulov
init
28 июл 2025, 09:49
28 июл 2025, 09:49
874de44
Код
Авторство
О чём код?
export const formatDuration = (seconds: number): string => { const SECONDS_IN_MINUTE = 60 const SECONDS_IN_HOUR = SECONDS_IN_MINUTE * 60 const SECONDS_IN_DAY = SECONDS_IN_HOUR * 24 const SECONDS_IN_MONTH = SECONDS_IN_DAY * 30 const months = Math.floor(seconds / SECONDS_IN_MONTH) seconds %= SECONDS_IN_MONTH const days = Math.floor(seconds / SECONDS_IN_DAY) seconds %= SECONDS_IN_DAY const hours = Math.floor(seconds / SECONDS_IN_HOUR) seconds %= SECONDS_IN_HOUR const minutes = Math.floor(seconds / SECONDS_IN_MINUTE) seconds %= SECONDS_IN_MINUTE const parts: string[] = [] if (months > 0) { parts.push(`${months}мес`) } if (days > 0) { parts.push(`${days}д`) } if (hours > 0) { parts.push(`${hours}ч`) } if (minutes > 0) { parts.push(`${minutes}м`) } if (seconds > 0 || parts.length === 0) { parts.push(`${seconds}с`) } return parts.join(' ') } // formatDuration(93784) "1д 2ч 3м 4с"