关于倒计时new Date().getTime()出现NaN

之前的倒计时是这么写的

 

//计算剩余时间  time-截止时间;serverTime--服务器时间,id-要显示时分秒对应的父节点Id

function countRestTime(time,serverTime,id){ 

var day_elem = $(id).find('.day'); 

var hour_elem = $(id).find('.hour'); 

var minute_elem = $(id).find('.minute'); 

var second_elem = $(id).find('.second'); 

var end_time = new Date(time).getTime();//月份是实际月份-1 

var start_time= new Date(serverTime).getTime();

var sys_second = (end_time-start_time)/1000; 

function startTime(){ 

if (sys_second > 1) { 

sys_second -= 1; 

var day = Math.floor((sys_second / 3600) / 24); 

var hour = day*24 + Math.floor((sys_second / 3600) % 24); 

var minute = Math.floor((sys_second / 60) % 60); 

var second = Math.floor(sys_second % 60); 

day_elem && $(day_elem).text(day);//计算天 

$(hour_elem).text(hour<10?"0"+hour:hour);//计算小时 

$(minute_elem).text(minute<10?"0"+minute:minute);//计算分钟 

$(second_elem).text(second<10?"0"+second:second);//计算秒杀 

} else { 

 clearInterval(timer); 

}; 

timer = setInterval(startTime,1000);

startTime();

 

以上代码在google浏览器,安卓手机微信是没任何问题的,但是在苹果手机或者苹果微信异常;

问题出在new Date(time).getTime();返回的是NaN;

 

解决方案:

new Date(time).getTime();返回的是NaN;

改为:

eval("new Date("+ time.replace(/\D+/g,",")+")").getTime(); 

则在google浏览器  安卓、安卓微信,苹果浏览器 ,苹果微信统统秒杀!  

//计算剩余时间

function countRestTime(time,serverTime,id){ 

var day_elem = $(id).find('.day'); 

var hour_elem = $(id).find('.hour'); 

var minute_elem = $(id).find('.minute'); 

var second_elem = $(id).find('.second'); 

var end_time =  eval("new Date("+ time.replace(/\D+/g,",")+")").getTime(); 

var start_time= eval("new Date("+ serverTime.replace(/\D+/g,",")+")").getTime();

var sys_second = (end_time-start_time)/1000; 

function startTime(){ 

if (sys_second > 1) { 

sys_second -= 1; 

var day = Math.floor((sys_second / 3600) / 24); 

var hour = day*24 + Math.floor((sys_second / 3600) % 24); 

var minute = Math.floor((sys_second / 60) % 60); 

var second = Math.floor(sys_second % 60); 

day_elem && $(day_elem).text(day);//计算天 

$(hour_elem).text(hour<10?"0"+hour:hour);//计算小时 

$(minute_elem).text(minute<10?"0"+minute:minute);//计算分钟 

$(second_elem).text(second<10?"0"+second:second);//计算秒杀 

} else { 

 clearInterval(timer); 

}; 

timer = setInterval(startTime,1000);

startTime();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值