JavaScript 指定格式化日期的方式
JavaScript 指定格式化日期的方式
1、使用let、 const 以及箭头函数=> 的方式
function formatDate(date, format) {
const map = {
"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() // 毫秒
};
format = format.replace(/([yMdhmsqS])+/g, (all, t) => {
let v = map[t];
if (v !== undefined) {
if (all.length > 1) {
v = "0" + v;
v = v.substr(v.length - 2);
}
return v;
} else if (t === "y") {
return (date.getFullYear() + "").substr(4 - all.length);
}
return all;
});
return format;
}
2、早期 JavaScript 版本(例如 ES5),使用 var 关键字来声明变量的方式
function formatDate(date, format) {
var map = {
"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() // 毫秒
};
format = format.replace(/([yMdhmsqS])+/g, function(all, t) {
var v = map[t];
if (v !== undefined) {
if (all.length > 1) {
v = "0" + v;
v = v.substr(v.length - 2);
}
return v;
} else if (t === "y") {
return (date.getFullYear() + "").substr(4 - all.length);
}
return all;
});
return format;
}
3、说明和使用示例:
3.1 说明
formatDate()函数接受两个参数:一个日期对象和一个格式字符串。格式字符串中可以包含以下占位符:
- yyyy:四位数的年份
- yy:两位数的年份
- M:月份(不带前导零)
- MM:月份(带前导零)
- d:日期(不带前导零)
- dd:日期(带前导零)
- h:小时(12小时制,不带前导零)
- hh:小时(12小时制,带前导零)
- H:小时(24小时制,不带前导零)
- HH:小时(24小时制,带前导零)
- m:分钟(不带前导零)
- mm:分钟(带前导零)
- s:秒钟(不带前导零)
- ss:秒钟(带前导零)
- q:季度(不带前导零)
- S:毫秒(不带前导零)
- SSS:毫秒(带前导零)
函数将所有占位符替换为相应的日期值,然后返回格式化后的日期字符串。
3.2 示例:
//滔Roy 2023.06.20 const date = new Date(); const format = "yyyy-MM-dd hh:mm:ss"; const formattedDate = formatDate(date, format); console.log(formattedDate);
创建时间:2023.06.20 更新时间:
博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你有所帮助,谢谢!