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
拿走不谢!