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  更新时间:

posted on 2023-06-20 10:43  滔Roy  阅读(60)  评论(0编辑  收藏  举报

导航