Javascript таймер обратного отсчета между двумя датами PHP - PullRequest
0 голосов
/ 18 октября 2010

Я создаю таймер для веб-сайта, который будет вести обратный отсчет между двумя датами php ().Весь сайт использует php, и есть много функций времени / даты, которые полагаются на date_default_timezone_set () и т.д.хорошо, если я обновляю свой экран каждую секунду, проблема, с которой я сталкиваюсь в настоящее время, заключается в том, что дата / время вызывается через php, и, очевидно, не будет обновляться при выполнении функции javascript.Что будет лучшим действием?Как я могу получить:

dateNow = new Date(<?php date_default_timezone_set($row_currentauction['timezone_auc']); echo date("Y,m,d,H,i,s"); ?>);

часть моего скрипта для обновления?

Текущий код (использует mootools для переворачивания изображения, как табло аэропорта, например, удалено):

    <script type="text/javascript">
   //<![CDATA[
    function retroClock(){

        dateFuture = new Date(<?php echo javadateEnd($row_currentauction['startdate_auc'], $row_currentauction['duration_auc'], $row_currentauction['extend_auc'],$row_currentauction['timezone_auc']); ?>);
        dateNow = new Date(<?php date_default_timezone_set($row_currentauction['timezone_auc']); echo date("Y,m,d,H,i,s"); ?>);

        difference = dateFuture.getTime() - dateNow.getTime(); //calculates difference between dates in ms

        days = 0; hours = 0; mins = 0; secs = 0;

        difference = Math.floor(difference/1000); //omit the "milliseconds"

        days = Math.floor(difference/86400);//days
        difference = difference%86400;

        hours = Math.floor(difference/3600);//hours
        difference = difference%3600;

        mins = Math.floor(difference/60);//minutes
        difference = difference%60;

        secs = Math.floor(difference);//seconds

        if( days < 2 ){document.getElementById('days').innerHTML="day";}else{document.getElementById('days').innerHTML="days";}
        if( hours < 2 ){document.getElementById('hours').innerHTML="hour";}else{document.getElementById('hours').innerHTML="hours";}
        if( mins < 2 ){document.getElementById('minutes').innerHTML="minute";}else{document.getElementById('minutes').innerHTML="minutes";}
        if( secs < 2 ){document.getElementById('seconds').innerHTML="second";}else{document.getElementById('seconds').innerHTML="seconds";}

        //change pads
        //rest of script...  
    }

    setInterval('retroClock()', 1000);

    //]]>
</script>

1 Ответ

0 голосов
/ 18 октября 2010

Вы не можете поместить Php в сценарий javascript (Php - это технология на стороне сервера, тогда как javascript - это технология на стороне клиента), но вы можете получить свои даты, используя Ajax.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...