日期处理方法

const formatTime = function formatTime (time, template) {
  if (typeof template !== "string") {
    time = new Date().toLocaleString('zh-CN', { hour12: false })
  }
  if (typeof template !== 'string') {
    template = "{0}年{1}月{2}日 {3}:{4}:{5}"
  }
  // 解析出年月日等信息
  let arr = []
  if (/^\d{8}$/.test(time)) {
    let [, $1, $2, $3] = /(\d{4})(\d{2})(\d{2})/.exec(time)
    arr.push($1, $2, $3)
  } else {
    arr = time.match(/\d+/g)
  }
  //把获取的数据替换模板
  return template.replace(/\{(\d+)\}/g, (_, $1) => {
    let item = arr[$1] || '00'
    if (item.length < 2) item = '0' + item
    return item
  })
}

console.log(formatTime('20231226121230', "{0}年{1}月{2}日 {3}:{4}:{5}")); // 输出:2023年12月26日 12:12:30
console.log(formatTime('20231226121230', "{3}:{4}:{5} {0}年{1}月{2}日")); // 输出:12:12:30 2023年12月26日
console.log(formatTime('20231226', "{0}年{1}月{2}日 {3}:{4}:{5}")) // 输出:2023年12月26日 00:00:00
console.log(formatTime('20231226', "{1}-{2}-{0} {3}:{4}:{5}")) // 输出:12-26-2023 00:00:00
console.log(formatTime('20231226', "{0}/{1}/{2} {3}:{4}:{5}")) // 输出:2023/12/26 00:00:00


//简单的获取月日时分
//补零操作
const zero = function (text) {
  text = String(text)
  return text.length < 2 ? '0' + text : text
}
//对日期的处理方法
const formatTime = function (time) {
  let arr = time.match(/\d+/g),//正则表达式
    [, month, day, hour = '00', minute = '00'] = arr
  return `${zero(month)} -${zero(day)} ${zero(hour)}:${zero(minute)}`
}

//formatTime(new Date().toLocaleString('zh-CN', { hour12: false }))这个是当前时间
console.log(formatTime(new Date().toLocaleString('zh-CN', { hour12: false })))//'12 -26 15:35'


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值