自定义Date格式化方法

86 阅读1分钟

自定义Date格式化方法

function formatDate(dateParam,format) {
  const dateStr =  new Date(dateParam|| Date.now()).toLocaleString("zh-CN")
  if(dateStr === 'Invalid Date') return dateParam
  const dateF = {0: 'y',1: 'M', 2 :'d',3:'h',4:'m',5: 's'}
  const dateEntry = dateStr.split(/[\s\/:]/).map((item,idx) => {
      return [dateF[idx], (item || '').padStart(2, '0')]
  })
  const dateFormatObj = Object.fromEntries(dateEntry)
  return (format || 'yyyy/MM/dd').replace(/(\w+)/g,(m='') => dateFormatObj[m[0]] || '')
}

formatDate() 不传参数,则返回当前时间的yyyy/MM/dd格式。dateParam跟 new Date()参数一样,如果传入非法参数,则返回原字符串。format为yyyy-MM-dd任意排序的格式。

工资三千,每天乐呵呵