js实现自定义格式化时间

// 参数解释: 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(new Date(), "YYYY.MM.DD hh:mm:ss") // '2021.09.14 13:25:15'

  

上一篇:JavaScript篇 -- 判断变量类型(typeof、toString、instanceof)


下一篇:关于java中的反射机制与浅谈类加载