引言: 同一种语言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;
}
拿去使用吧
原文链接-我的博客:https://blog.csdn.net/qq_36208461/article/details/89531292?spm=1001.2014.3001.5501