时间戳格式化成字符串

该博客介绍了JavaScript中用于日期格式化的函数,包括将时间戳转换为本地日期的`formatDate`函数和填充前导0的`padLeftZero`函数。`formatDate`函数能够根据指定格式进行日期的格式化,支持年、月、日、小时、分钟和秒的格式化,并利用正则表达式和字符串替换实现灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// 前导0
function padLeftZero(str) {
  return (`00${str}`).substring(str.length)
}

/**
 * 日期格式化为本地日期
 * @param {str} time 时间戳
 * @param {str} fmt 格式
 * @return {str} 格式后日期
 */
export const formatDate = (time, fmt) => {
  const date = new Date(time);
  const yearReg = /(y+)/;

  if (yearReg.test(fmt)) {
    const [year] = fmt.match(yearReg);
    fmt = fmt.replace(
      year,
      (`${date.getFullYear()}`).substring(4 - year.length)
    )
  }
  const o = {
    'M+': date.getMonth() + 1,
    'd+': date.getDate(),
    'H+': date.getHours(),
    'm+': date.getMinutes(),
    's+': date.getSeconds()
  }
  for (const k in o) {
    const reg = new RegExp(`(${k})`);
    if (reg.test(fmt)) {
      const [str] = fmt.match(reg);
      fmt = fmt.replace(
        str,
        str.length === 1 ? `${o[k]}` : padLeftZero(`${o[k]}`)
      )
    }
  }
  return fmt
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值