根据“https://www.cnblogs.com/liaozhenting/articles/6874871.html”的资料,将其方法转换为了ES6支持的格式,并且变更为了传入date或timestamp参数进去,而非通过Date对象直接调用。
format(timestamp, format) {
const date =new Date(timestamp);
const o = {
'M+':date.getMonth() +1,
'd+':date.getDate(),
'h+':date.getHours(),
'm+':date.getMinutes(),
's+':date.getSeconds(),
'q+':Math.floor((date.getMonth() +3) /3),
S:date.getMilliseconds(),
};
let formatString = format;
if (/(y+)/.test(format)) {
formatString = format.replace(RegExp.$1,
(`${date.getFullYear()}`).substr(4 - RegExp.$1.length));
}
Object.keys(o).forEach((key) => {
if (new RegExp(`(${key})`).test(format)) {
formatString =formatString.replace(RegExp.$1,
RegExp.$1.length ===1 ?o[key] :
(`00${o[key]}`).substr(`${o[key]}`.length));
}
});
return formatString;
},
第一次用简书,不太熟悉怎么调整格式,先这样吧,上面是传入timestamp的方法,如果想传入date的话,去掉“const date =new Date(timestamp);”这句,参数名“timestamp”更改为"date"即可。
网友评论