IE下getTime()返回NaN

版权声明:此文首发于我的个人站Keyon Y,转载请注明出处。

通过IE开发者工具控制台执行js代码发现,new Date(“2017-11-30 16:13:10”).getTime() 在IE下会返回NaN,而其他浏览器可以正常返回毫秒数。

原因解析

由于毫秒数在IE浏览器下没有正确获得,所以在之后的计算中,计算结果为undefined

解决方法

自定义方法

自定义一个NewDate方法,通过调用NewDate方法获得毫秒数

function NewDate(str){  
  if(!str){  
    return 0;  
  }  
  arr=str.split(" ");  
  d=arr[0].split("-");  
  t=arr[1].split(":");  
  var date = new Date();   
  date.setUTCFullYear(d[0], d[1] - 1, d[2]);   
  date.setUTCHours(t[0], t[1], t[2], 0);   
  return date;  
}

通过Date.parse()方法

parse() 方法可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数。

parse()方法参数的日期格式为yyyy/MM/dd,所以需要将现有的日期格式通过replace()方法将日期字符串替换成yyyy/MM/dd格式。

var date="2017-11-30 16:13:10";  
Date.parse(date.replace(/-/g,"/"));  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值