javascript中new Date()的浏览器兼容性问题

Posted 莫问、前程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript中new Date()的浏览器兼容性问题相关的知识,希望对你有一定的参考价值。

在公司写活动的时候,有个需求是对时间日期格式作转换。如  \' 2018-05-01 00:00:00 \' 转换成 \'5月1日\'。

function formatTime (time) {
    var time = new Date(time),
          month = time.getMonth() + 1 + \'\',
         day = time.getDate() + \'\';

     return month + day;
}

在chrome浏览器可以正常显示,但是用ie8打开,出现问题了,页面中的日期显示为 NAN

 

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

故,我们要先将日期中的 \'-\' 替换为 \'/\' 就可以了。

formatTime = function (time) {
    var time = new Date(time.replace(/-/g,"/")),
          month = time.getMonth() + 1 + \'\',
          day = time.getDate() + \'\';

    return month + day;
}

 

以上是关于javascript中new Date()的浏览器兼容性问题的主要内容,如果未能解决你的问题,请参考以下文章

new Date() iso不支持兼容性问题

JavaScript 中 Date() 和New Date()有啥区别?

JavaScript-Date对象

JavaScript 的 new date() 和 date() 为啥输出不一样?

JavaScript - Date(),new Date()和ISODate之间的区别

Day.js 常用方法 以后再也不用new Date( )啦