js Date()日期函数浏览器兼容问题解决方法
一般直接newDate()是不会出现兼容性问题的,而newDate(datetimeformatstring)常常会出现浏览器兼容性问题,为什么,datetimeformatstring中的某些格式浏览器不兼容。
1.无参
//无参所有浏览器都兼容 vardateTime=newDate();
2.日期参数
//日期参数格式1 vardateTime=newDate("2017-09-12");
a.IE
>IE9-(不兼容)
>IE9+(兼容,包含IE9)
b.火狐(兼容)
c.谷歌(兼容)
//日期参数格式2所有浏览器都兼容 vardateTime=newDate("2017/09/12");
3.日期时间参数
//日期时间参数格式1 vardateTime=newDate("2017-09-1213:41:00");
a.IE (不兼容,不管哪个版本)
b.火狐(不兼容)
c.谷歌(兼容)
//日期时间参数格式2所有浏览器都兼容 vardateTime=newDate("2017/09/1213:42:00");
//日期时间参数格式3 vardateTime=newDate("2017-09-12T13:42:00");
a.IE
>IE9-(不兼容)
>IE9+(兼容)
>IE9(半兼容8个小时时间差)
b.火狐(兼容)
c.谷歌(半兼容8个小时时间差)
//日期时间参数格式4 vardateTime=newDate("2017/09/12T13:42:00");
a.IE (半兼容1小时时间差)
b.火狐(不兼容)
c.谷歌(不兼容)
综上,所有主流浏览器都支持的格式为:vardateTime=newDate("2017/09/1213:42:00");
那么解决方案就是将datetimeformatstring转换成yyyy/MM/ddhh:mm:ss格式化字符串即可