该方法中需要传入时间戳和需要的时间格式即可, 该方法支持任何形式的时间格式输出,
其中timestamp为传入的时间戳,format为要输出的格式。
function formatterTime (timestamp, format) {
//format: "yyyy-m-d h:i:s.S","yyyy年mm月dd日 hh:ii:ss" default: "yyyy-mm-dd hh:ii:ss"
var obj = parseInt(timestamp)
var date = new Date(obj)
var data = {
"m+": date.getMonth() + 1, //月
"d+": date.getDate(), //日
"h+": date.getHours(), //小时
"i+": date.getMinutes(), //分
"s+": date.getSeconds(), //秒
"q+": Math.floor((date.getMonth() + 3) / 3), //季度
"S": date.getMilliseconds() //毫秒
};
if (!format) {
format = "yyyy-mm-dd hh:ii:ss"
}
if (/(y+)/.test(format)) {
// date.getFullYear() + "" 转为字符串
format = format.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length))
}
console.log(format)
for (var k in data) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1, (RegExp.$1.length === 1) ? (data[k]) : (("00" + data[k]).substring(("" + data[k]).length)))
}
}
return format
}
亲测结果如下:
let timestamp = 1564390402655
formatterTime(timestamp, 'yyyy-mm-dd hh:ii:ss')
// "2019-07-29 16:53:22"
formatterTime(timestamp, 'yyyy年mm月dd hh时ii分ss秒')
// "2019年07月29 16时53分22秒"
formatterTime(timestamp, 'hh:ii:ss')
// "16:53:22"