js 10位、13位时间戳转日期方法
js 处理服务器返回的10位或者13位时间戳转为日期方法很简单
/**
* 日期格式化
* @param Number time 时间戳
* @param String format 格式
*/
function dateFormat (time, format) {
const t = new Date(time)
// 日期格式
format = format || 'Y-m-d h:i:s'
let year = t.getFullYear()
// 由于 getMonth 返回值会比正常月份小 1
let month = t.getMonth() + 1
let day = t.getDate()
let hours = t.getHours()
let minutes = t.getMinutes()
let seconds = t.getSeconds()
const hash = {
'y': year,
'm': month,
'd': day,
'h': hours,
'i': minutes,
's': seconds
}
// 是否补 0
const isAddZero = (o) => {
return /M|D|H|I|S/.test(o)
}
return format.replace(/\w/g, o => {
let rt = hash[o.toLocaleLowerCase()]
return rt > 10 || !isAddZero(o) ? rt : `0${rt}`
})
}
dateFormat(1558259949034, 'Y-M-D H:I:S') 返回结果是 2019-05-19 17:59:09,如果是10位时间戳,参数1需要*1000
拿走不谢!