var date = new Date();
console.log(date);//Thu Apr 22 2021 14:12:21 GMT+0800 (中国标准时间)
//这里定义两个参数,一个日期,一个格式化格式
function formateDate(date, fmt) {
//对年格式化,利用正则表达式匹配y的个数,然后再截取对应的年的位数
//因为年是四位,所以单独进行
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
}
//日期对应的格式
let o = {
'M+': date.getMonth(),
'd+': date.getDate(),
'h+': date.getHours(),
'm+': date.getMinutes(),
's+': date.getSeconds()
};
//对剩下的月、日、时分秒,进行正则匹配替换
for (let k in o) {
//正则匹配
if (new RegExp(`(${k})`).test(fmt)) {
let str = o[k] + '';
//替换
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padleFtZero(str));
}
}
return fmt
}
//替换函数
function padleFtZero(str) {
return ('00' + str).substr(str.length)
}
console.log(formateDate(date, 'yyyy/MM/dd hh:mm:ss'));//2021/03/22 14:12:21
js手写实现日期格式化
最新推荐文章于 2023-01-09 20:40:10 发布