JavaScript 指定格式化日期的方式

JavaScript 指定格式化日期的方式

1、使用let、 const 以及箭头函数=> 的方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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 关键字来声明变量的方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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 示例:

1
2
3
4
5
//滔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  更新时间:

posted on   滔Roy  阅读(130)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报

导航

点击右上角即可分享
微信分享提示