IE、firefox浏览器下JS的new Date()的值为Invalid Date、NaN-NaN的问题

在使用new Date()过程中,传递时间参数,会遇到一些兼容问题,谷歌上没有问题,ie ,火狐上出现的Invalid Date,
例:

var dateTime = new Date("2018-09-12 13:42:00");
console.log(dateTime);   //打印出  Invalid Date
//在谷歌上好的,但是其他浏览器不支持这样的字符串格式;

所以,要兼容其他浏览器,需要下面的这种 ‘ / ’ 斜线格式;

var dateTime = new Date('2018/08/12 00:00:00');

常见的是这样,把日期的格式转换成支持的格式。

var date="2018-12-12 10:10:10";
date=date.replace(new RegExp(/-/gm) ,"/");//将所有的'-'转为'/'即可
var d=new Date(date);
//Wed Dec 12 2018 10:10:10 GMT+0800 (中国标准时间)

下面列一些浏览器都支持的日期格式

        var d1 = new Date(2018, 01, 07); // yyyy, mm-1, dd  
        var d2 = new Date(2018, 01, 07, 11, 05, 00); // yyyy, mm-1, dd, hh, mm, ss  
        var d3 = new Date("02/07/2018"); // "mm/dd/yyyy"  
        var d4 = new Date("02/07/2018 11:05:00"); // "mm/dd/yyyy hh:mm:ss"  
        var d5 = new Date(1297076700000); // milliseconds  
        var d6 = new Date("Mon Feb 07 2018 11:05:00 GMT"); // ""Day Mon dd yyyy hh:mm:ss GMT/UTC

猜你喜欢

转载自blog.csdn.net/m0_37885651/article/details/80018906