兼容 Safari 与 IOS 的 Date 对象
最近博主在做一个需要兼容IOS的移动端页面,发现一个 new Date()
对象 巨坑!差点丢了饭碗o(╥﹏╥)o
请看问题代码:
var date = new Date("2018-05-24 08:00");
这段代码是获得字符中指定的日期,它Firefox、Chrome中就能运行,但是放在Safari就会报错,错误是NaN,贼气人!
在网上找了一下,将代码这样写就好了:
var date = new Date("2018/05/24 08:00");
应该是不支持 -
的写法;
收集一下各种兼容处理:
1、 简单的将 -
号替换成 /
function toDate(dateString){
var dateString = "2018/05/24 08:00";
return new Date(dateString.replace(/\-/g, "/"));
}
2、 除了将 -
号替换成 /
,还做了一些别的兼容处理
function toDate(dateString){
dateString = dateString
.replace(/T/g, ' ')
.replace(/\.[\d]{3}Z/, '')
.replace(/(-)/g, '/');
if (dateObj.indexOf(".") > 0) {
dateObj = dateObj.slice(0, dateObj.indexOf("."))
}
return new Date(dateObj)
}
3、 转换成通用格式
function toDate(dateString) {
var dateArr = dateString.split(/[- : \/]/);
return new Date(dateArr[0], dateArr[1] - 1, dateArr[2], dateArr[3], dateArr[4], dateArr[5]);
}
本文是原创文章,完整转载请注明来自 何小勺
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果