问题:剩余多少时间,如果只用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);