Answer

Answer

t.me/js_test

Ответ:

const humanReadable = (seconds) => {
  const round = (x) => (x < 10 ? `0${x}` : `${x}`);

  const hours = parseInt(seconds / (60 * 60));
  const min = parseInt((seconds / 60) % 60);
  const sec = seconds % 60;

  return [hours, min, sec].map(round).join(':');
};

Обьяснение:

Обьявлем воспомагательную функцию round, которая добавляет 0 к числу, если оно меньше 10.


Далее высчитываем:
Часы - в одном часе 3600 секунд - делим seconds на 3600, с помощью parseInt получаем целую часть.

Минуты - в одной минуте 60 секунд - делим seconds на 60, после чего берём остачу от деления на 60, так как 60 минут это час ( например, если у нас 3660 секунд - после первого действия мы получим 61 минуту, после чего берём остачу от 60 - получаем одну минуту)

Секунды - остача от деления на 60.

После прогоняем все полученные значения через функцию round и джоиним через :.

Код для проверки:

const humanReadable = (seconds) => {
  const round = (x) => (x < 10 ? `0${x}` : `${x}`);

  const hours = parseInt(seconds / (60 * 60));
  const min = parseInt((seconds / 60) % 60);
  const sec = seconds % 60;

  return [hours, min, sec].map(round).join(':');
};

console.log(humanReadable(359999)); // 99:59:59

console.log(humanReadable(0)); // 00:00:00

console.log(humanReadable(3661)); // 01:01:01



Report Page