原创
打造自己的JavaScript日期格式化函数精选
准备工作
在开始之前,请确保你对JavaScript的基本语法有所了解,特别是Date对象的使用。我们的目标是创建一个函数,接收一个日期对象和一个格式字符串作为参数,然后返回按照指定格式格式化的日期字符串。
实现日期格式化函数
下面是一个简单的日期格式化函数实现,它支持年、月、日、时、分、秒的基本格式化:
JavaScript
1234567891011121314
function formatDate(date, format) {
const map = {
'yyyy': date.getFullYear(),
'MM': ('0' + (date.getMonth() + 1)).slice(-2),
'dd': ('0' + date.getDate()).slice(-2),
'HH': ('0' + date.getHours()).slice(-2),
'mm': ('0' + date.getMinutes()).slice(-2),
'ss': ('0' + date.getSeconds()).slice(-2)
};
return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function(match) {
return map[match];
});
}
函数解析
参数说明:
date: 需要格式化的日期对象。format: 指定的输出格式字符串,其中yyyy代表四位年份,MM代表两位月份,dd代表两位日期,HH代表24小时制的小时,mm代表分钟,ss代表秒。
核心逻辑:
- 首先定义了一个映射表
map,将日期的各部分根据格式字符串中的关键词映射到对应的值上,并补零以保持两位数格式。 - 然后,使用正则表达式和
replace方法,将format字符串中的关键词替换为实际的日期值。
- 首先定义了一个映射表
示例用法
现在,让我们通过几个例子来看看这个函数的使用方法:
JavaScript
12345
const now = new Date();
console.log(formatDate(now, 'yyyy-MM-dd HH:mm:ss')); // 输出当前日期时间,如2023-04-05 15:20:30
console.log(formatDate(now, 'MM/dd/yyyy')); // 美式日期格式,如04/05/2023
console.log(formatDate(now, 'dd.MM.yyyy')); // 欧洲日期格式,如05.04.2023
期待你的捷足先登





