场景
后端返回了一个时间字符串,形如:'2020-09-09 hh:mm:ss'
,然后前端业务需要判断当前时间是否大于/小于这个时间,于是就有了这样一个比较:
let date = new Date()
if(date < new Date(res.endTime) && date > new Date(res.startTime)) {
// do something
}
然而这在安卓上运行正常,可是测试的时候在IOS
上报错了。查阅一番得知,IOS
不支持这种格式'2020-09-09 hh:mm:ss'
去new Date()
,它只支持'2020/09/09 hh:mm:ss'
这样的,而安卓下使用new Date()
则两种格式都支持。
解决
把后端返回的时间格式转换一下,把'-'
替换成'/'
:
// ios下-时间格式化不了,ios下把-替换为/
export function initIosTime (val) {
if (isIOS()) {
return val.replace(/\-/g, '/').replace('.0', '')
}
return val
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。