格式化日期函数

 重点

  1. 判断输入类型
  2. 不够两位的填充2位
  3. 月份 需要 + 1
  4. 获取日期是 getDate,不是getDay
  5. getDay 获取星期,其中 0 是星期日

function formatDate(date, fmt) {
    let realyDate = date
    if(typeof date === 'string') {
        realyDate = new Date(date)
    } else if (date === undefined || date === null){
        realyDate = new Date()
    }
    const year = realyDate.getFullYear()
    const month = `${realyDate.getMonth() + 1}`.padStart(2, 0)
    const day = `${realyDate.getDate()}`.padStart(2, 0)
    const hour = `${realyDate.getHours()}`.padStart(2, 0)
    const min = `${realyDate.getMinutes()}`.padStart(2, 0)
    const second = `${realyDate.getSeconds()}`.padStart(2, 0)
    let res = fmt.replace('Y', year).replace('m', month).replace('d', day).replace('h', hour).replace('m', min).replace('s', second)
    return res
}

const date = new Date()
const result = formatDate(date, 'Y-m-d h:m:s')
console.log(result)

 

 

你可能感兴趣的:(javascript,前端,开发语言)