问题:剩余多少时间,如果只用php来输出,却看不到动态效果。
解决办法,利用获取的时间减去当前时间js 时间格式转换
php时间商品距离秒杀时间的天数时分秒
<input name="test01" value="1472572800/×当天开始时间的×/">
<div id="showtimes" ></div>
function show_cur_times(){ //获取当前日期 var date_time = new Date(); var cur_time =$("[name='test01']").val()*1000;获取的时间戳是把毫秒改成000显示 var timestamp=new Date().getTime(); var timestampend = cur_time - timestamp; var newTime = new Date(timestampend); var day=Math.floor(timestampend/(24*3600*1000)); //计算出小时数 var leave1=timestampend%(24*3600*1000); //计算天数后剩余的毫秒数 var hours=Math.floor(leave1/(3600*1000)); //计算相差分钟数 var leave2=leave1%(3600*1000); //计算小时数后剩余的毫秒数 var minutes=Math.floor(leave2/(60*1000)); //计算相差秒数 var leave3=leave2%(60*1000); //计算分钟数后剩余的毫秒数 var seconds=Math.round(leave3/1000); var date_str = day+"天"+hours+"时"+minutes+"分"+seconds+"秒"; //显示在id为showtimes的容器里 document.getElementById("showtimes").innerHTML= date_str; } //设置1秒调用一次show_cur_times函数 setInterval(show_cur_times,1000);
动态
67天12时10分21秒
遇到的问题:碰到循环的如何解决,每个值不能存在相同id
<input name="showtimesend" countDown="{{act_id}}" value="{{end_time}}" style="display:none;">
<span class="am-text-primary" id="{{act_id}}"></span>
function show_cur_times(act_id){ $("[countDown]").each(function (index, element){ var countDown = $(element).attr('countDown'); $('#' + countDown).html(toCountDown($(element).val())); }); } function toCountDown(cur_time){ var timestamp=new Date().getTime(); var timestampend = (cur_time * 1000) - timestamp; var newTime = new Date(timestampend); var day=Math.floor(timestampend/(24*3600*1000)); //计算出小时数 var leave1=timestampend%(24*3600*1000); //计算天数后剩余的毫秒数 var hours=Math.floor(leave1/(3600*1000)); //计算相差分钟数 var leave2=leave1%(3600*1000); //计算小时数后剩余的毫秒数 var minutes=Math.floor(leave2/(60*1000)); //计算相差秒数 var leave3=leave2%(60*1000); //计算分钟数后剩余的毫秒数 var seconds=Math.round(leave3/1000); return day+"天"+hours+"时"+minutes+"分"+seconds+"秒"; } //设置1秒调用一次show_cur_times函数 setInterval(show_cur_times,1000);