js格式化日期

徐徐
前端
发表于 2026/04/20 16:00
🌺 摘要
封装 `formatTime`,通过正则匹配 `YYYY/MM/DD HH:mm:ss` 等占位符并用 `padStart` 完成日期补零格式化。

/**
 * 格式化日期
 * @param date
 * @param format
 * @return {string}
 */
export function formatTime(date, fmt = "YYYY-MM-DD") {
  if (!date) return;
  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 (const k in opt) {
    ret = new RegExp("(" + k + ")").exec(fmt);
    if (ret) {
      fmt = fmt.replace(
        ret[1],
        ret[1].length === 1 ? opt[k] : opt[k].padStart(ret[1].length, "0"),
      );
    }
  }
  return fmt;
}
文章发表于 2026/04/20 16:00
作者: 徐徐
文章标题: js格式化日期
版权声明: 内容遵守许可协议,转载请注明出处。
扫码阅读原文

评论

加载中...