问题
拿到后后台返回的时间,只展示年月日,通过new Date()重新获取一下在拼接,结果在ios会显示NaN-NaN-NaN
后台返回时间:
原格式化代码:
直接使用了yyyy-MM-dd格式进行格式化
export function time (value) {
const date = new Date(value)
const y = date.getFullYear()
let MM = date.getMonth() + 1
MM = MM < 10 ? '0' + MM : MM
let d = date.getDate()
d = d < 10 ? '0' + d : d
let h = date.getHours()
h = h < 10 ? '0' + h : h
let m = date.getMinutes()
m = m < 10 ? '0' + m : m
let s = date.getSeconds()
s = s < 10 ? '0' + s : s
return y + '-' + MM + '-' + d
}
解决
ios不支持yyyy-MM-dd的格式转换,需要使用yyyy/MM/dd
使用正则把 - 替换成 / 进行拼接就可以了
export function time (value) {
let ree = value.replace(/\-/g,'/')
const date = new Date(ree)
const y = date.getFullYear()
let MM = date.getMonth() + 1
MM = MM < 10 ? '0' + MM : MM
let d = date.getDate()
d = d < 10 ? '0' + d : d
let h = date.getHours()
h = h < 10 ? '0' + h : h
let m = date.getMinutes()
m = m < 10 ? '0' + m : m
let s = date.getSeconds()
s = s < 10 ? '0' + s : s
return y + '-' + MM + '-' + d
}