前端将时间戳 转换为想要的时间格式及星期几

标题 我想大家可能都会遇到 在做开发时 会对不同的时间格式进行转换 特别是在做后台管理系统时 很多的表格查询都会遇到时间传参及时间显示的处理。下面给大家分享一个处理的方法,欢迎大家交流。

一、针对时间封装一个函数

parseTime (time, cFormat) {
    if (!time || arguments.length === 0) {
      return null
    }

    const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'
    let date
    if (typeof time === 'object') {
      date = time
    } else {
      if (('' + time).length === 10) time = parseInt(time) * 1000
      if (typeof (time) === 'string') time = time.replace(/-/g, '/')
      date = new Date(time)
    }
    const formatObj = {
      y: date.getFullYear(),
      m: date.getMonth() + 1,
      d: date.getDate(),
      h: date.getHours(),
      i: date.getMinutes(),
      s: date.getSeconds(),
      a: date.getDay()
    }
    const timeStr = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
      let value = formatObj[key]
      if (key === 'a') return ['日','一', '二', '三', '四', '五', '六'][value]
      if (result.length > 0 && value < 10) {
        value = '0' + value
      }
      return value || 0
    })
    return timeStr
  }

二、使用方法
传入需要一个转换的对象,及想要显示的格式
1、显示年月日
parseTime(1640618660,’{y}-{m}-{d}’) 结果: 2021-12-27
2、显示年月日 时分秒
parseTime(1640618660,’{y}-{m}-{d} {h}:{i}:{s}’) 结果: 2021-12-27 23:24:20
3、显示年月日 时分秒 及星期
parseTime(‘2021-12-27 23:24:20’,’{y}-{m}-{d} {h}:{i}:{s} 星期{a}’) 结果: 2021-12-27 23:24:20 星期一

猜你喜欢

转载自blog.csdn.net/tq1711/article/details/122133475
今日推荐