ios使用new Date()报错
今天在开发app时发现,同样的 new Date()
代码在安卓上没问题,在iOS上会报错的。找了一下方案,记录一下。
let stringTime = '2021-7-5 17:48:20'
let time1 = new Date().getTime(); //当前的时间戳
let time2 = Date.parse(new Date(stringTime)); //指定时间的时间戳
let time = time1 - time2;
console.log(time) // NaN
排除了一下,原来是time2的问题,但是为什么在安卓手机上没有问题呢。原来在ios上使用'2021-7-5 17:48:20'
,包含了-
,而ios里只能识别/
这样格式的,使用stringTime.replace(/-/g, "/")
替换成'2021/7/5 17:48:20'
这样就没问题了。
let stringTime = '2021-7-5 17:48:20'
let time1 = new Date().getTime(); //当前的时间戳
stringTime = stringTime.replace(/-/g, "/") //这是ios 的坑,用这个转化一下会好了
let time2 = Date.parse(new Date(stringTime)); //指定时间的时间戳
let time = time1 - time2;
console.log(time) // 1352063
然而安卓使用/
这个是没问题。安卓不用再做适配了,直接用就行了