1.问题
最近在做Web开发的时候,不得以做前端上的一些日期上的操作。
但是就有一个问题就很坑,其它浏览器都很正常,到这就不行了,
即问题:
使用的是js处理。
从后台获取的日期格式:2017-10-14 18:07:27
前台转换为date对象:var date = new Date("2017-10-14 18:07:27")
然后获取其毫秒值:var ms = date.getTime();
疯狂显示NaN
2.原因
Safari浏览器其支持的日期格式为:2017/10/14 18:07:27
这里真的坑!
3.解决办法
使用正则表达式将-
转换为/
replace(/\-/g, "/")
代码例入下:
var dateStr = "2017-10-14 18:07:27";
var date = new Date(dateStr.replace(/\-/g, "/"));
var ms = date.getTime();
这样获取到的毫秒值就是正确的了!!!
在这里也要感谢网上的大佬们。