Rumah >pembangunan bahagian belakang >tutorial php >php+js倒计时
1、js的时间戳和php的时间戳转换需要注意的地方
JS时间戳为13位,包含3位毫秒的(最后面的三位),而PHP只有10位不包含毫秒的。
2、以下是js代码
<script type="text/javascript">var Tday = new Array();var daysms = 24 * 60 * 60 * 1000;var hoursms = 60 * 60 * 1000;var Secondms = 60 * 1000;var microsecond = 1000;var DifferHour = -1;var DifferMinute = -1;var DifferSecond = -1;function clock( key ) { var time = new Date(); var hour = time.getHours(); var minute = time.getMinutes(); var second = time.getSeconds(); var timevalue = ""+((hour > 12) ? hour-12:hour); timevalue +=((minute < 10) ? ":0":":")+minute; timevalue +=((second < 10) ? ":0":":")+second; timevalue +=((hour >12 ) ? " PM":" AM"); var convertHour = DifferHour; var convertMinute = DifferMinute; var convertSecond = DifferSecond; var Diffms = Tday[key].getTime() - time.getTime(); DifferHour = Math.floor(Diffms / daysms); Diffms -= DifferHour * daysms; DifferMinute = Math.floor(Diffms / hoursms); Diffms -= DifferMinute * hoursms; DifferSecond = Math.floor(Diffms / Secondms); Diffms -= DifferSecond * Secondms; var dSecs = Math.floor(Diffms / microsecond); if(convertHour != DifferHour) { a="<font class=f4_c><strong>"+DifferHour+"</strong></font>天"; } if(convertMinute != DifferMinute) { b="<font class=f4_c><strong>"+DifferMinute+"</strong></font>时"; } if(convertSecond != DifferSecond) { c="<font class=f4_c><strong>"+DifferSecond+"</strong></font>分"; } d="<font class=f4_c><strong>"+dSecs+"</strong></font>秒"; if (DifferHour>0) { a=a; } else { a=''; } document.getElementById("leftTime"+key).innerHTML = a + b + c + d; }</script>
3、下面是模板文件
{foreach from=$goods item=goods name=goods} <div id="leftTime{$smarty.foreach.goods.iteration}"></div> <script type="text/javascript"> Tday[{$key}] = new Date("{$goods.gmt_end_time}"); window.setInterval(function(){clock({$key});}, 1000); </script>{/foreach}