обратный отсчет php javascript jquery?

#javascript #countdown

#javascript #обратный отсчет

Вопрос:

У меня есть будущая дата из поля datetime в базе данных mysql, она всегда будет опережать текущее время не более чем на час или два.

Что мне нужно, так это отображать обратный отсчет в режиме реального времени на странице, например, «2 минуты 5 секунд», чтобы obv отсчитывал каждую секунду.

Понадобится ли мне для этого javascript? Или jquery и т.д. — это что-то новое? Я тоже не знаю, только немного php.

Ответ №1:

До тех пор, пока это происходит в реальном времени. Вам нужен javascript

Ваш серверный PHP должен запрашивать базу данных и вставлять будущее время в JS.

Пример обратного отсчета JS: обратный отсчет GTA V здесь http://www.gtaforums.com/index.php?showforum=239

Комментарии:

1. lol спасибо, мне было интересно, когда был выпущен трейлер gta: P

2. @user1022585 Надеюсь, это поможет. PS Я намеренно поместил туда ссылку, я в восторге.

Ответ №2:

Я думаю, вы уже нашли решение. Но если кто-то все еще ищет это решение, то этот код может помочь.

 Reverse timer from javascript:

var target_date = new Date('Aug 01 2014 20:47:00').getTime();
    var days, hours, minutes, seconds;
    var countdown = document.getElementById('timeremaining');
    var countdownTimer = setInterval(function () {
        var current_date = new Date().getTime();
        var seconds_left = (target_date - current_date) / 1000;

        days = parseInt(seconds_left / 86400);
        seconds_left = seconds_left % 86400;

        hours = parseInt(seconds_left / 3600);
        seconds_left = seconds_left % 3600;
        minutes = parseInt(seconds_left / 60);
        seconds = parseInt(seconds_left % 60);

        if(days <= 0 amp;amp; hours <= 0 amp;amp; minutes <= 0 amp;amp; seconds <= 0 )
        {
           document.getElementById('timeremaining').innerHTML = '';
           clearInterval(countdownTimer);              
        }
        else
        {       
            if(days>0)
              {
                 days= days 'd,';
              } 
              else
              {
                 days='';
              }            
            countdown.innerHTML ='( '   days   checkTime(hours)   ':'  checkTime(minutes)   ':'   checkTime(seconds)  ' remaining)';    
        }
    }, 1000);

    function checkTime(i) {
        if (i < 10) {i = '0'   i};  
        return i;
    }