今天小汪写的是一个简便的时间戳转换的方法,由于项目中有好几处需要展示时间,但是后台大多都是返回的时间戳(毫秒,或者秒),每次写转换的方法太过麻烦,有需要的伙伴如果看到我的帖子,复制即可。如果帮到各位,嘿嘿 老规矩哟。
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
因为小汪水准不高,所以这个封装比较简单,主要也是为了自己需要的时候不用重新花时间去写,大佬不喜轻点喷。小伙伴 下篇再见啦。