Количество секунд в ISO-формат

Beginner

This tutorial is from open-source community. Access the source code

Введение

В этом практическом занятии мы изучим функцию formatSeconds в JavaScript. Эта функция возвращает ISO-формат для заданного количества секунд, разделяя секунды на соответствующие значения часов, минут и секунд. Мы узнаем, как использовать Array.prototype.map(), Math.floor(), String.prototype.padStart() и Array.prototype.join(), чтобы отформатировать и объединить значения в строку. В конце этого практического занятия вы глубоко поняли, как манипулировать и форматировать данные о времени в JavaScript.

Функция для форматирования секунд в ISO-формат времени

Для использования этого кода откройте Терминал/SSH и введите node. Эта функция принимает количество секунд в качестве аргумента и возвращает ISO-формат времени. Вот, как она работает:

  • Разделите количество секунд на соответствующие значения, чтобы получить соответствующие значения для час, минута и секунда.
  • Сохраните знак числа в переменную, чтобы добавить его в начало результата.
  • Используйте Array.prototype.map(), в сочетании с Math.floor() и String.prototype.padStart(), чтобы преобразовать и отформатировать каждый сегмент в строку.
  • Используйте Array.prototype.join(), чтобы объединить значения в строку.

Вот код:

const formatSeconds = (s) => {
  const [hour, minute, second, sign] =
    s > 0
      ? [s / 3600, (s / 60) % 60, s % 60, ""]
      : [-s / 3600, (-s / 60) % 60, -s % 60, "-"];

  return (
    sign +
    [hour, minute, second]
      .map((v) => `${Math.floor(v)}`.padStart(2, "0"))
      .join(":")
  );
};

Вы можете протестировать функцию с этими примерами:

formatSeconds(200); // '00:03:20'
formatSeconds(-200); // '-00:03:20'
formatSeconds(99999); // '27:46:39'

Резюме

Поздравляем! Вы завершили практическое занятие по преобразованию количества секунд в ISO-формат. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.