时间格式化的函数

2019-07-07  本文已影响0人  冬至_5b58
export const parseTime = function (time, cFormat) {
    if (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
      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 - 0]
      if (result.length > 0 && value < 10) {
        value = '0' + value
      }
      return value || 0
    })
    return timeStr
}
/*
  desc: 从周一/日开始 默认周一
  weekStr:数据前的字符 默认周
  num: 返回的个数 默认7个
*/
export const toolsWeeksCN = (weekStr = '周', num = 7, desc = true) => {
  const endStr = weekStr === '周' ? '日' : '天'
  const weeks = [`${weekStr}一`, `${weekStr}二`, `${weekStr}三`, `${weekStr}四`, `${weekStr}五`, `${weekStr}六`, `${weekStr}${endStr}`]
  if (!desc) {
    const newArr = [weeks[weeks.length - 1], ...weeks.slice(0, weeks.length - 1)]
    return [...newArr].slice(0, num)
  }
  return weeks.slice(0, num)
}

使用第一个参数是时间对象,,第二个参数就是需要返回的格式 可以自行定义 ' {y}/{m}/{d} {h}:{i}:{s} '

上一篇下一篇

猜你喜欢

热点阅读