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 而谷歌火狐等浏览器对这样的格式做了扩展,