IE下 new Date().getTime() 返回NaN

问题:new Date("2020-05-06 16:37:56").getTime() 在IE下会返回NaN,而其他浏览器可以正常返回毫秒数。


原因:由于毫秒数在IE浏览器下没有正确获得,所以在之后的计算中,计算结果为 undefined。没有正确获得的原因时因为参数格式在 IE 中出现问题,使用 IE 的 new Date() 方法,参数中的日期格式 必须时 YYYY/MM/DD 而不能是 YYYY-MM-DD(其他浏览器中都可以)。所以我们需要做的就是转换日期格式。


解决办法:

2.使用 new Date() 方法

通过正则将日期格式字符串中的 ‘-’ 全部替换为 ‘/’ 再使用 new Date() 方法,再getTime() 就可以了。

new Date("2020-05-06 16:37:56".replace(/-/g,'/')).getTime();//1588754276000

1.通过Date.parse()方法

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

同上也是需要将 其中日期格式为 YYYY-MM-DD 转为 YYYY/MM/DD 就可以了

var time = '"2020-05-06 16:37:56"';
var newTime = Date.parse(time.replace(/-/g,'/'));//1588754246000

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值