IE new Date()无效

引言: 同一种语言javascript,在不同的浏览器中,存在语言兼容性问题,本质上是由于不同的浏览器是支持的语言标准和实现上各有差异。本文将基于new Date来创建Date对象来分析这个问题。

我们在使用

new Date("2019-04-26 12:23:22")
let yy = time.getFullYear();
let mm = time.getMonth()+1;
let dd = time.getDate();
return yy+"-"+mm+"-"+dd;

这时候在谷歌等浏览器会显示 - 2019-04-26;
但是在万恶的ie上则是 - NaN-NaN-NaN

这里吐槽一下ie;

主要原因是, 基于’/'格式的日期字符串,才是被各个浏览器所广泛支持的,‘-’连接的日期字符串,则是只在chrome下可以正常工作。

所以

new Date("2019/04/26 12:23:22")
let yy = time.getFullYear();
let mm = time.getMonth()+1;
let dd = time.getDate();
return yy+"-"+mm+"-"+dd;

这样就好了

使用一个正则吧

function time(v) {
   let time = new Date(Date.parse(v.replace(/-/g,"/")));
   let yy = time.getFullYear();
   let mm = time.getMonth()+1;
   let dd = time.getDate();
   return yy+"-"+mm+"-"+dd;
}

拿去使用吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值