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}
浙公网安备 33010602011771号