2010-10-18 99 views
0

我正在为一个网站构建一个计时器,它将在两个php日期()之间倒计时。 整个网站使用PHP和有大量的时间/日期函数依赖于date_default_timezone_set()等Javascript计时器在两个php日期之间倒计时

所以,回到托特他蒂默...

我能得到它的工作,那么,如果我每秒刷新我的屏幕,我现在遇到的问题是通过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> 

回答

0

你不能把PHP的在JavaScript脚本(PHP是一种服务器端技术,而JavaScript的是客户端技术),但您可以使用Ajax.

+0

检索您的日期,但是PHP可以输出可用作javascript的文本。这通常比依靠AJAX更容易。 – GordonM 2010-10-18 16:16:26

+0

我曾经想过Ajax,但希望有另一种方法,不要幻想每秒钟加载另一个文件... – jimbo 2010-10-19 07:32:18