当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 微信页面倒计时代码(解决safari不兼容date的问题)

微信页面倒计时代码(解决safari不兼容date的问题)

2019年04月05日  | 移动技术网IT编程  | 我要评论

话不多说,请看下面代码

pc:

1.html页面:

<div class="atime">
   <em id="t_d"></em>
   <em id="t_h"></em>
   <em id="t_m"></em>
   <em id="t_s"></em>
</div>

2.js:

<script type="text/javascript">
 function getrtime(){
  var end = "<?php echo $info['end_date']; ?>"+" 23:59:59";
  var endtime= new date(end);
  var nowtime = new date();
  var t =endtime.gettime() - nowtime.gettime();
  var d=0;
  var h=0;
  var m=0;
  var s=0;
  if(t>=0){
   d=math.floor(t/1000/60/60/24);
   h=math.floor(t/1000/60/60%24);
   m=math.floor(t/1000/60%60);
   s=math.floor(t/1000%60);
  }
  document.getelementbyid("t_d").innerhtml = d;
  document.getelementbyid("t_h").innerhtml = h;
  document.getelementbyid("t_m").innerhtml = m;
  document.getelementbyid("t_s").innerhtml = s;
 }
 setinterval(getrtime,1000);
</script>

以上代码在safari中出错,原因是:

在ios5以上版本(不包含ios5)中的safari浏览器能正确解释出javascript中的 new date('2013-10-21') 的日期对象。

但是在ios5版本里面的safari解释new date('2013-10-21') 就不正确,在ios5的safari中返回的永远是"invalid date"。

后来我在网上查找了资料,原来是低版本的safari解释new date('2013-10-21')这个对象不一样,在ios5中的safari不支持这种写法,

而它支持的写法为new date('2013','10','21'),这样写就能解决"invalid date"的问题,能返回一个javascript date回来了。

想要ios5中的safari能正确解析new date()那么必须这么写

new date('2013/10/21');   或者  var d = new date(date);d = d.getfullyear() > 0 ? d : new date(date.parse(date.replace(/-/g, "/")));

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持移动技术网!

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网