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

一般 直接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.日期时间参数

//日期时间参数 格式3
var dateTime = new Date("2017-09-12T13:42:00");
//日期时间参数 格式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");

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 格式化字符串即可

时间: 2024-08-12 01:29:01

js Date()日期函数浏览器兼容问题解决方法的相关文章

IE浏览器兼容问题解决办法

怎么用一行代码解决CSS各种IE各种兼容问题 用一行代码来解决CSS在,IE6,IE7,IE8,IE9,IE10 中的各种兼容性问题. 在网站前端写代码的过程中,很多时间IE各个版本的兼容问题很难整.现在百度与谷歌都有了一行解决这种兼容性的代码了.如下面的. 百度办法: 百度也应用了这种方案去解决IE的兼容问题 百度源代码如下 <span style="color:#333333;"><!Doctype html> <htmlxmlns=http://ww

JS中date日期初始化的5种方法

原文:JS中date日期初始化的5种方法 创建一个日期对象: 代码如下: var objDate=new Date([arguments list]); 参数形式有以下5种: 1)new Date("month dd,yyyy hh:mm:ss"); 2)new Date("month dd,yyyy"); 3)new Date(yyyy,mth,dd,hh,mm,ss); 在程序中我使用的第三种初始化方法,总是显示格式化的参数不正确,仔细看了一下一定要是整型的才可

js快速判断IE浏览器(兼容IE10与IE11)

在很多时候,我们一般采用navigator.userAgent和正则表达来判断IE浏览器版本,下面介绍用IE浏览器中不同特性来判断IE浏览器   1 判断IE浏览器与非IE 浏览器 IE浏览器与非IE浏览器的区别是IE浏览器支持ActiveXObject,但是非IE浏览器不支持ActiveXObject.在IE11浏览器还没出现的时候我们判断IE和非IE经常是这么写的 ? 1 2 3 function isIe(){        return window.ActiveXObject ? tr

Date.parse函数的兼容问题

因为要用Date.parse函数解析一个日期时间的字符串,在谷歌浏览器中解析成功,可是IE.火狐中却不行. 不知何故,firefox对于类似"2010-12-20 15:55:00"这种时间的转换格式不感冒,返回Nan,查了查资料,把"-"替换为"/"就可以了. 编了一个这样的函数,解决了这个问题. var dateparse_ie = function(abc){ //2014/4/16 08:58:57 return Date.parse(a

调浏览器兼容步骤方法

终于完成了页面代码的编写.师傅叫我现在开始调浏览器的兼容性.在火狐和chrome中都显示的好好的页面,在ie8中就开始显示不行了.调试的最好方法就是逐步审查,用排除法. 首先,在ie中貌似对标签是否完整有要求.当笔者就是在某个地方<a>标签不完整导致div快显示有问题.所以在ie调试之前先审查自己的标签. 其次,建议先从高版本的浏览器进行调试. 最后,常见的问题: 1.fixed元素 当我上面一个标签使用了fixed属性时,相邻的标签用margin这个属性与其保持间距就会失效. 解决方案:1.

Flex Web部分浏览器兼容问题解决

今天找了一天这个项目的兼容性的问题,好在功夫不负有心人啊,都解决了 照理来说Flex应该没什么兼容性的问题的,但是我做的这个web应用却是有那么几个问题,在IE8内核的电脑上会出现,部分360浏览器也是 第一个问题: Flex页面显示不全,由于在我的应用中需要的面积比较大,所以没有用自适应大小,设了minWidth="1000" minHeight="710"这两个属性 但是在360等浏览器中由于页面可见高度只有610左右,所以剩下的就显示不出来了,如下图空白区:

CSS浏览器兼容性问题解决方法总结

CSS浏览器兼容解决总结如下: 1. CSS中几种浏览器对不同关键字的支持,可进行浏览器兼容性重复定义 !important 可被FireFox和IE7识别 * 可被IE6.IE7识别 _ 可被IE6识别 *+ 可被IE7识别 区别IE6与FF: background:orange;*background:blue;区别IE6与IE7: background:green !important;background:blue;区别IE7与FF: background:orange; *backgr

js data日期初始化的5种方法new Date()

var objDate=new Date([arguments list]); 参数形式有以下5种: 1)new Date("month dd,yyyy hh:mm:ss"); 2)new Date("month dd,yyyy"); 3)new Date(yyyy,mth,dd,hh,mm,ss); 在程序中我使用的第三种初始化方法,总是显示格式化的参数不正确,仔细看了一下一定要是整型的才可以,我传递的是字符串 4)new Date(yyyy,mth,dd); 5

VS2013 字符串函数与VC不兼容问题解决方法

VS2013与我们旧版的VC有更多的改进,安全性更高.所以在一些少数的算法中,函数的兼容性还是有存在差异的.这里介绍一下字符串相关操作兼容性存在差异的解决方法: 点击‘资源视图’ 进入工程属性对话框. 在‘配置属性’下,将‘字符集’选择‘使用多字节字符集’ 在‘C/C++’下进入‘预处理器’,选择‘预处理定义’,在右侧下拉菜单选择‘编辑’,进入预处理定义编辑框 在编辑框内添加 _CRT_SECURE_NO_WARNINGS 点击 ‘确认’退出编辑对话框. 点击‘应用’,点击‘OK’完成配置. 到