RegExp.$1~9被弃用后替换方法
RegExp.$1使用
function formatFunction(date, fmt) {
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(
RegExp.$1,
(date.getFullYear() + "").substring(4 - RegExp.$1.length)
);
}
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(), // 毫秒
};
for (let k in o) {
if (new RegExp("(" + k + ")").test(fmt)) {
fmt = fmt.replace(
RegExp.$1,
RegExp.$1.length == 1
? o[k]
: ("00" + o[k]).substring(("" + o[k]).length)
);
}
}
return fmt;
};
替换方法: RegExp的exec方法
function formatFunction(date, fmt) {
const re = /(y+)/;
if (re.test(fmt)) {
const t = re.exec(fmt)[1];
fmt = fmt.replace(
t,
(date.getFullYear() + "").substring(4 - t.length)
);
}
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(), // 毫秒
};
for (let k in o) {
const regx = new RegExp("(" + k + ")");
if (regx.test(fmt)) {
const t = regx.exec(fmt)[1];
fmt = fmt.replace(
t,
t.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)
);
}
}
return fmt;
};
----------------------------使用-----------
function btn() {
const t = this.formatFunction(new Date(), "yyyy-MM-dd hh:mm:ss");
console.log(t);
};
输出:2023-04-24 11:14:15
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律