JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题的解决方法

1 var date = new Date('2016-11-11 11:11:11');
2 document.write(date);

最近在写一个时间判断脚本,需要将固定好的字符串时间转换为时间戳进行比较,在做的时候个人习惯使用chrome作为调试工具,

代码基本完成之后,一切正常;

使用其他浏览器访问,好嘛,IE跟safari都不兼容,返回错误"Invalid Date"。

解决方案:

1 var arr = "2016/11/11 11:11:11".split(/[- : /]/),
2 date = new Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], arr[5]);
3 document.write(date);
        var time = '2018-01-11 10:23:24'
        var date = new Date(time.replace(/-/g, '/'))
        var date1 = new Date(time)
        console.log(time.replace(/-/g, '/'))
        document.write(Math.round(date.getTime() / 1000).toString())
        document.write('<br>')
        document.write(Math.round(date1.getTime() / 1000).toString())
        document.write('<br>')
        var arr = time.split(/[- : /]/),
        date2 = new Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], arr[5]);
        document.write(Math.round(date2.getTime() / 1000).toString());

  

终于可以兼容所有浏览器咯,结论:

iPhone中的safari所支持的格式为 YYYY,MM, DD,HH,mm,ss或者YYYY/MM/DD HH:mm:ss 而谷歌火狐等浏览器对这样的格式做了扩展,

原文地址:https://www.cnblogs.com/dearxinli/p/9848834.html