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