javascript中new Date浏览器兼容性处理
看下面的代码
<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对象,所有主流浏览器均支持该函数。