IE new Date()无效

简介: IE 时间兼容

引言: 同一种语言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

相关文章
|
JSON Linux 数据格式
原来是Gson导致,本地和linux服务器不同的环境导致Date转换出现问题:Invalid time zone indicator ‘ ‘
看到报错日志,第一反应就是,date数据的问题,同时又能发现全是和gson相关 结合报错行数的代码,盲猜就是gson对时间处理的问题了 于是寻找解决方法
635 0
|
4月前
|
Shell
date $(date --date="2 days" +"%m%d")$(date +"%H%M")然后再输入date时间没变啊
date $(date --date="2 days" +"%m%d")$(date +"%H%M")然后再输入date时间没变啊
|
5月前
|
SQL Oracle 关系型数据库
深入解析 NOW() 与 CURRENT_DATE() 的区别
【8月更文挑战第31天】
258 0
|
8月前
Date的Invalid Date
Date的Invalid Date
49 1
|
8月前
|
JavaScript
【Js】检查Date对象是否为Invalid Date
【Js】检查Date对象是否为Invalid Date
230 0
tp5时间戳字段报错Invalid datetime format: 1292 Incorrect datetime value
tp5时间戳字段报错Invalid datetime format: 1292 Incorrect datetime value
470 0
|
8月前
DATE_FORMAT函数使用
DATE_FORMAT函数使用
279 0
|
关系型数据库 MySQL PostgreSQL
PSQLException: 错误: 函数 date_format(timestamp without time zone, unknown) 不存在
PSQLException: 错误: 函数 date_format(timestamp without time zone, unknown) 不存在
361 0
java关于时间比较|String转Date|Date转String|指定时间加上指定天数后的日期|当时时间加上指定天数后的日期等的方法
java关于时间比较|String转Date|Date转String|指定时间加上指定天数后的日期|当时时间加上指定天数后的日期等的方法
java关于时间比较|String转Date|Date转String|指定时间加上指定天数后的日期|当时时间加上指定天数后的日期等的方法
|
SQL Oracle 关系型数据库
sql中sysdate 和 current_date 的区别及to_char( tv_date, ‘YYYY-MM-DD‘)当天时间与数据库时间的格式转换与比较
在oracle中current_date与sysdate都是显示当前系统时间, 其结果基本相同,但是有三点区别: 1. current_date返回的是当前会话时间,而sysdate返回的是服务器时间; 2. current_date有时比sysdate快一秒,这可能是四舍五入的结果; 3. 如果修改当前会话的时区,比如将中国的时区为东八区,修改为东九区,则current_date显示的时间为东九区时间, 根据东加西减的原则,current_date应该比sysdate快一小时。
535 0
sql中sysdate 和 current_date 的区别及to_char( tv_date, ‘YYYY-MM-DD‘)当天时间与数据库时间的格式转换与比较