JavaScript 时间格式化
🌙
手机阅读
本文目录结构
需求
把服务器获取到的时间戳(秒为单位),转化为目标的格式
比如
2020年06月19日00:59:07
2020【年】06【月】19【日】 00:59:07
2020-06-19 00:59:07
2020/06/19 00:59:07
20200619005907
实现方法
let Utils = {
formatDate: function (timeStamp, format) {
let date = new Date((timeStamp || 0) * 1000);
let map = {
'y': date.getFullYear(),
'M': date.getMonth() + 1,//month
'd': date.getDate(),//date
'H': date.getHours(),//hours
'm': date.getMinutes(),//minutes
's': date.getSeconds() //seconds
};
for (let i in map) {
if (map.hasOwnProperty(i)) {
if (map[i] < 10) {
map[i] = '0' + map[i];
}
}
}
format = format || 'yyyy-MM-dd HH:mm:ss';
let reg = new RegExp('y+|M+|d+|H+|m+|s+', 'g');
let regY = new RegExp('y');
format = format.replace(reg, function (v) {
let old = v;
if (regY.test(v)) {
let y = "" + map['y'];
let len = 4 - v.length;
old = y.substr(len);
} else {
let key = v.substr(0, 1);
old = map[key];
}
return old;
});
return format;
}
};
// 模拟一个服务器拿到的时间戳(一般是秒为单位的时间戳)
let serverTime = parseInt(new Date().getTime() / 1000);
console.log(Utils.formatDate(serverTime, 'yyyy年MM月dd日HH:mm:ss'))
console.log(Utils.formatDate(serverTime, 'yyyy【年】MM【月】dd【日】 HH:mm:ss'))
console.log(Utils.formatDate(serverTime, 'yyyy-MM-dd HH:mm:ss'))
console.log(Utils.formatDate(serverTime, 'yyyy/MM/dd HH:mm:ss'))
console.log(Utils.formatDate(serverTime, 'yyyyMMddHHmmss'))