需求描述:后端返回的时间格式是2019-10-24 10:34:39,要求转换为2019年10月24日10时34分
方法:使用字符串的replace和正则结合
let time = '2019-10-25 10:39:30';
function timeTransformation(time) {
console.log(arguments)
time = time.replace(/(\d+)\-(\d+)\-(\d+)\ (\d+)\:(\d+)\:(\d+)/, function () {
let str = '';
let ary = ['年', '月', '日', '时', '分'];
let time = Array.prototype.concat.apply([], arguments);
time = time.splice(1, 5);
time.forEach((item, index) => {
str += item + ary[index];
})
return str;
})
return time;
}
timeTransformation(time);
用一个数组存储了年、月、日、时、分,然后使用字符串的replace和正则对后端返回的时间进行查找,将查找到的内容也存入一个数组,然后将存储的年月日…插入其中,最后将插入好的内容拼接成一个字符串
输出arguments如下:
将arguments转成数组,使用数组的截取方法,结果如下:
拼接后的字符串如下: