您的位置:首页 > Web前端 > JavaScript

javascript中new Date浏览器兼容性处理

2016-03-04 11:34 537 查看
看下面的代码

<script type="text/javascript">
var dt1 = new Date('2016-3-4 11:06:12');
alert(dt1);
</script>


在chrome浏览器中打开没问题,在safari浏览器中打开会提示Invalid Date.


 

说明上面的写法有浏览器兼容性问题,查一下new Date的初始化参数有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)new Date(ms); //参数表示需要创建的时间和 GMT时间1970年1月1日之间相差的毫秒数
比如:
new Date("January 12,2006 22:19:35");
new Date("January 12,2006");
new Date(2006,0,12,22,19,35);
new Date(2006,0,12);
new Date(1137075575000);

所以对日期问题处理方法是重新格式化成通用日期格式

<script type="text/javascript">
var t1 = '2016-3-4 11:06:12';
var dt1=new Date(Date.parse(t1.replace(/-/g,"/")))
alert(dt1);  //ok
</script>


其中的Date.parse()函数用于分析一个包含日期的字符串,并返回该日期与 1970 年 1 月 1 日午夜之间相差的毫秒数。该函数属于Date对象,所有主流浏览器均支持该函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: