在使用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