15
Сен
2021

Таймер в 2 знака

Есть таймер на JS. Отсчитывает время, всё хорошо. Но тогда, когда часы, минуты и секунды достигают момента, когда число меньше 10, то время отображается по одной цифре ( Пример: 4 минуты ). Выглядит не очень. Хотел сделать, чтобы при числе меньше 10 прибавлялся 0 перед символом ( Чтобы было: 04 минуты. ). Требуется помощь. Вот, пытался сделать сам

let timer_show = document.getElementById("timer");

function diffSubtract(date1, date2) {
  return date2 - date1;
}

let end_date = {
  "full_year": "2021",
  "month": "09",
  "day": "29",
  "hours": "00",
  "minutes": "00",
  "seconds": "00"
}

let end_date_str = `${end_date.full_year}-${end_date.month}-${end_date.day}T${end_date.hours}:${end_date.minutes}:${end_date.seconds}`;

timer = setInterval(function () {
  let now = new Date();
  let date = new Date(end_date_str);
  let ms_left = diffSubtract(now, date);
  if (ms_left <= 0) {
    clearInterval(timer);
    timer_show.innerHTML = `0  :  0  :  0  :  0`;
  } else {
    let res = new Date(ms_left);
    // далее мои попытки реализовать добавление ноля
    if (res.getUTCSeconds < '10') res.getUTCSeconds = '0' + res.getUTCSeconds;
    if (res.getUTCMinutes < '10') res.getUTCMinutes = '0' + res.getUTCMinutes;
    // конец попыткам
    let str_timer = `<span class="t_date">${res.getUTCDate() - 1}</span> :  <span class="t_hour">${res.getUTCHours()}</span>  :  <span class="t_min">${res.getUTCMinutes()}</span>  :  <span class="t_sec">${res.getUTCSeconds()}</span>`;
    timer_show.innerHTML = str_timer;
  }
}, 1000)
    <div class="timer">
      <div id="timer"></div>
    </div>

Источник: https://ru.stackoverflow.com/questions/1328690/%D0%A2%D0%B0%D0%B9%D0%BC%D0%B5%D1%80-%D0%B2-2-%D0%B7%D0%BD%D0%B0%D0%BA%D0%B0

Тебе может это понравится...

Добавить комментарий