uniapp ios 时间转换适配 问题 Invalid Date 处理等
直接上代码data 为传入的时间变量var date = new Date(data);if(date == "Invalid Date"){data = data.replace(/T/g,' ').replace(/-/g,"/").indexOf('.')>-1?data.replace(/T/g,' ').replace(/-/g,"/").substring(0,data.repl
·
直接上代码
data 为传入的时间变量
var date = new Date(data);
if(date == "Invalid Date"){
data = data.replace(/T/g,' ').replace(/-/g,"/").indexOf('.')>-1?data.replace(/T/g,' ').replace(/-/g,"/").substring(0,data.replace(/T/g,' ').replace(/-/g,"/").indexOf('.')):data.replace(/T/g,' ').replace(/-/g,"/")
date = new Date(data);
}
情景还原:
后台给过来的变了 data 可能有以下格式
【a】 时间戳 1638239629 注意单位(秒). 毫秒的自己替换
【b】 时间格式的字符串 2021-11-30 10:33:48
【c】 时间格式的字符串 2021-11-16T08:38:09.000+0800
处理方法解释
1. ios 不兼容2021-11-16 需要转换成 2021/11/16
2. new Date()报错无法用try catch 捕获 所以只能用返回变量 去判断是否转换失败
3. replace(/T/g,' ') 是处理c 格式下 ios 6s 及更高版本的转换问题
4. replace(/-/g,"/") 是兼容ios格式下问题
5. substring(0,data.replace(/T/g,' ').replace(/-/g,"/").indexOf('.')) 是处理ios 6splus 下c格式 无法转换的问题
更多推荐
已为社区贡献6条内容
所有评论(0)