用文字记录生活,留下美好瞬间
原创

打造自己的JavaScript日期格式化函数

共 1,256 字,需阅读 3 分钟
2019/04/30 上午
646 次阅读

#准备工作

在开始之前,请确保你对JavaScript的基本语法有所了解,特别是Date对象的使用。我们的目标是创建一个函数,接收一个日期对象和一个格式字符串作为参数,然后返回按照指定格式格式化的日期字符串。

#实现日期格式化函数

下面是一个简单的日期格式化函数实现,它支持年、月、日、时、分、秒的基本格式化:

          
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
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字符串中的关键词替换为实际的日期值。

#示例用法

现在,让我们通过几个例子来看看这个函数的使用方法:

          
  • 1
  • 2
  • 3
  • 4
  • 5
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
自由转载 - 署名 - 非商业性使用
https://zhangwurui.cn/article/47
0/0条看法
访客身份
在下有一拙见,不知...
期待你的捷足先登