Сколько часов до конца дня?

На сайте есть код, который отсчитывает 24 часа в обратную сторону. Но мне нужно чтобы отсчитывал время до конца дня. Вот код:

// счетчик обратного отсчета
  function getTimeRemaining(endtime) {
    var t = Date.parse(endtime) - Date.parse(new Date());
    var seconds = Math.floor((t / 1000) % 60);
    var minutes = Math.floor((t / 1000 / 60) % 60);
    var hours = Math.floor((t / (1000 * 60 * 60)) % 24);
    return {
      'total': t,
      'hours': hours,
      'minutes': minutes,
      'seconds': seconds
    };
  }

  function initializeClock(id, endtime) {
    var clock = document.getElementById(id);
    var hoursSpan = clock.querySelector('.hours');
    var minutesSpan = clock.querySelector('.minutes');
    var secondsSpan = clock.querySelector('.seconds');

    function updateClock() {
      var t = getTimeRemaining(endtime);
      hoursSpan.innerHTML = ('0' + t.hours).slice(-2);
      minutesSpan.innerHTML = ('0' + t.minutes).slice(-2);
      secondsSpan.innerHTML = ('0' + t.seconds).slice(-2);

      if (t.total <= 0) {
        clearInterval(timeinterval);
      }
    }

    updateClock();
    var timeinterval = setInterval(updateClock, 1000);
  }

  var deadline = new Date(Date.parse(new Date()) + 24 * 60 * 60 * 1000);
  
  initializeClock('banner', deadline);


Подскажите, как правильно задать deadline чтобы сработало?
  • Вопрос задан
  • 355 просмотров
Решения вопроса 1
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Нужно получить объект date следующего дня полночью.
var deadline = new Date(); // Создаем объект даты с текущем временем
deadline.setHours(0,0,0,0); // Обнуляем компоненты часа, минуты, секунды и миллисекунды, чтобы была полночь
deadline.setDate(deadline.getDate() + 1); // Делаем следующий день

И передать его в вашу функцию
initializeClock('banner', deadline);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы