JS代码浏览器兼容性 之 new Date()

这里只测试3个浏览器的情况:IE, 火狐,谷歌。

一. 无参

//无参
var dateTime = new Date();

所有浏览器都兼容,GOOD

二. 日期参数

//日期参数 格式1
var dateTime = new Date("2016-05-20");

a. IE

  > IE9-(不兼容) 

  > IE9+(兼容,包含IE9) 

b. 火狐(兼容)

c. 谷歌 (兼容)

//日期参数 格式2
var dateTime = new Date("2016/05/20");

所有浏览器都兼容,GOOD

三. 日期时间参数

//日期时间参数 格式1
var dateTime = new Date("2016-05-20 23:41:00");

a. IE    (不兼容,不管哪个版本)

b. 火狐 (不兼容)

c. 谷歌 (兼容)

//日期时间参数 格式2
var dateTime = new Date("2016/05/20 23:42:00");

所有浏览器都兼容,GOOD

//日期时间参数 格式3
var dateTime = new Date("2016-05-20T23:42:00");

a. IE

  > IE9- (不兼容)

  > IE9+(兼容)

  > IE9(半兼容)

  半兼容是个什么鬼?哈哈。 半兼容就是可以得到日期时间,但是时间是错误的。比如上面我们的时间是 23:42:00 。那么它会自动在此基础上加上8个小时,因此我们得到的 dateTime 的值将会是: 2016-05-21 07:42:00

b. 火狐 (兼容)

c. 谷歌 (半兼容)同IE9 时间多加了8小时

//日期时间参数 格式4
var dateTime = new Date("2016/05/20T23:42:00");

a. IE    (半兼容) 所有版本时间都多加了 1 个小时,即得到的 dateTime 的值为: 2016-05-21 00:42:00

b. 火狐 (不兼容)

c. 谷歌 (不兼容)

根据上面测试的结果,所有浏览器都支持的格式为: var dateTime = new Date("2016/05/20 23:42:00");

原文地址:https://www.cnblogs.com/similar/p/5513817.html