今天小汪寫的是一個簡便的時間戳轉換的方法,由於項目中有好幾處需要展示時間,但是後臺大多都是返回的時間戳(毫秒,或者秒),每次寫轉換的方法太過麻煩,有需要的夥伴如果看到我的帖子,複製即可。如果幫到各位,嘿嘿 老規矩喲。
function conversionTime(timestamp, format){
//timestamp = 時間戳 format = 格式
let data = timestamp.toString().length < 13 ? new Date(timestamp*1000) : new Date(timestamp);//判斷時間戳是否需要*1000
let Y = data.getFullYear(); //獲取傳入時間戳的年
let M = data.getMonth()+1; //獲取月份
let D = data.getDate(); //獲取當前天
let H = data.getHours() < 10 ? `0${data.getHours()}` : data.getHours(); //小時>10 時默認在前面加0
let m = data.getMinutes() < 10 ? `0${data.getMinutes()}` : data.getMinutes(); //分鐘>10時默認在前面加0
let s = data.getSeconds() < 10 ? `0${data.getSeconds()}` : data.getSeconds(); //秒>10時默認在前面加0
format = format || 'Y-M-D H:m:s';//設定一個默認格式
format = format.indexOf('Y') > -1 ? format.replace('Y', Y) : format;
format = format.indexOf('M') > -1 ? format.replace('M', M) : format;
format = format.indexOf('D') > -1 ? format.replace('D', D) : format;
format = format.indexOf('H') > -1 ? format.replace('H', H) : format;
format = format.indexOf('h') > -1 ? format.replace('h', H > 12 ? H - 12 : H) : format;//傳H則是24小時制 h則是12小時制
format = format.indexOf('m') > -1 ? format.replace('m', m) : format;
format = format.indexOf('s') > -1 ? format.replace('s', s) : format;
console.log(format);
}
conversionTime(1586087763000);//打印結果:2020-4-5 19:56:03
conversionTime(1586087763,"Y-M-D H:m:s");//打印結果:2020-4-5 19:56:03
conversionTime(1586087763,"Y/M/D h:m:s");//打印結果:2020/4/5 7:56:03
conversionTime(1586087763,"Y年M月D日 H:m:s");//打印結果:2020年4月5日 19:56:03
因爲小汪水準不高,所以這個封裝比較簡單,主要也是爲了自己需要的時候不用重新花時間去寫,大佬不喜輕點噴。小夥伴 下篇再見啦。