首页 > 技术文章 > js实现自定义格式化时间

kinwai 2021-09-14 13:26 原文

// 参数解释: date是时间,默认当前时间  fmt是格式化方式

date参数举例:
1、new Date()

fmt参数类型举例: 
1、YYYY.MM.DD hh:mm:ss
2、YYYY/MM/DD hh:mm:ss
3、YYYY/MM/DD
4、hh:mm:ss
5、YYYY年MM月DD日 hh时mm分ss秒
-----------------你也可以发挥你的现象

function dateFormat (date = new Date(), fmt = "YYYY-MM-DD hh:mm:ss") {
  let ret;
  const opt = {
    "Y+": date.getFullYear().toString(), //
    "M+": (date.getMonth() + 1).toString(), //
    "D+": date.getDate().toString(), //
    "h+": date.getHours().toString(), //
    "m+": date.getMinutes().toString(), //
    "s+": date.getSeconds().toString() //
  };
  for (let k in opt) {
    ret = new RegExp("(" + k + ")").exec(fmt);
    if (ret) {
      if (k === 'Y+') {
        fmt = fmt.replace(ret[1], opt[k].substr(ret[1].length * (-1)))
      } else {
        fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
      }
    };
  };
  return fmt;
}
dateFormat() // 不传任何参数是当前时间,'2021-09-14 13:51:15'
dateFormat(new Date(), "YYYY.MM.DD hh:mm:ss") // '2021.09.14 13:51:15'

 

推荐阅读