网络编程 
首页 > 网络编程 > 浏览文章

js Date()日期函数浏览器兼容问题解决方法

(编辑:jimmy 日期: 2025/5/15 浏览:3 次 )

一般 直接new Date() 是不会出现兼容性问题的,而 new Date(datetimeformatstring) 常常会出现浏览器兼容性问题,为什么,datetimeformatstring中的某些格式浏览器不兼容。

1. 无参

//无参 所有浏览器都兼容
var dateTime = new Date();

2.日期参数

//日期参数 格式1
var dateTime = new Date("2017-09-12");

a. IE

  > IE9-(不兼容) 

  > IE9+(兼容,包含IE9)

b. 火狐(兼容)

c. 谷歌 (兼容) 

//日期参数 格式2 所有浏览器都兼容
var dateTime = new Date("2017/09/12");

3.日期时间参数

//日期时间参数 格式1
var dateTime = new Date("2017-09-12 13:41:00");

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

b. 火狐 (不兼容)

c. 谷歌 (兼容) 

//日期时间参数 格式2 所有浏览器都兼容
var dateTime = new Date("2017/09/12 13:42:00");
//日期时间参数 格式3
var dateTime = new Date("2017-09-12T13:42:00");

a. IE

  > IE9- (不兼容)

  > IE9+(兼容)

  > IE9(半兼容 8个小时时间差)

b. 火狐 (兼容)

c. 谷歌 (半兼容 8个小时时间差) 

//日期时间参数 格式4
var dateTime = new Date("2017/09/12T13:42:00");

a. IE    (半兼容 1小时时间差)

b. 火狐 (不兼容)

c. 谷歌 (不兼容) 

综上,所有主流浏览器都支持的格式为: var dateTime = new Date("2017/09/12 13:42:00");

那么解决方案就是 将datetimeformatstring 转换成 yyyy/MM/dd hh:mm:ss 格式化字符串即可

上一篇:js 倒计时(高效率服务器时间同步)
下一篇:JS鼠标3次点击事件实现代码及扩展思路
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。