js 将时间戳转成时间格式化
一、时间戳
时间戳是以时间元年1970年开始算起到当前时间的一个值,以秒为单位,比如1535694719秒,如何转化为我们想要的格式,yyyy/mm/dd或者yyyy-MM-dd hh:mm,格式根据自己想要的进行改。
二、将时间戳转成Data对象
1 function(value) {
2 //将时间戳转成Data对象
3 let date = new Date(value * 1000);
4 //将data进行格式化
5 return formatDate(date, "yyyy-MM-dd hh:mm");
6 }
因为时间戳是秒,data对象是毫秒,所以要*1000,调用formatDate函数
需要引入formatDate函数
formatDate(date, fmt) {
// 获取年份
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(
RegExp.$1, //匹配到的结果yyyy,替换成后面的内容
(date.getFullYear() + "").substr(4 - RegExp.$1.length) //(date.getFullYear() + "") 2019 + + "" 表示将数字转换成字符串
//substr表示截取几位,假如传过来的是两位yy,就将2019截取4-2位成了19
);
}
let o = {
"M+": date.getMonth() + 1,
"d+": date.getDate(),
"h+": date.getHours(),
"m+": date.getMinutes(),
"s+": date.getSeconds()
};
for (let k in o) {
if (new RegExp(`(${k})`).test(fmt)) {
let str = o[k] + "";
fmt = fmt.replace(
RegExp.$1,
RegExp.$1.length === 1 ? str : padLeftZero(str)
);
}
}
return fmt;
}
function padLeftZero(str) { //小时分钟秒不足两位的话用00补位,然后str.length
//假如是04:0004 截取两位 04
//假如是4:004 截取一位:04
return ("00" + str).substr(str.length);
}
不积跬步无以至千里