思路过程
本人想通过一种简单的方法将时间戳转换为yyyy.mm.dd的形式(不使用if else),并且能够自行判断,如果月份和日期为一位数,则添加前缀0,于是想到了正则的方式。
通过使用str.replace的回调函数,并结合扩展运算符成功实现。
代码如下:
//将时间戳转换为点分隔的形式并补上前缀0
addPoint: function(timestamp) {
let str = new Date(timestamp).toLocaleDateString()
str = str.replace(/(\d{4})[/.](\d{1,2})[/.](\d{1,2})/, (...[, $1, $2, $3]) => {
$2 = $2.length < 2 ? '0' + $2 : $2;
$3 = $3.length < 2 ? '0' + $3 : $3;
return `${$1}.${$2}.${$3}`
});
return str
}