js格式化日期对象

介绍

前端经常要处理日期对象,将其转为2018-08-08或者2018/08/08,2018年08月08日

代码实现

个位数字补0

function leftPadding(n) {
   n = n.toString()
   return n.padStart(2,0)
}

日期处理

/**
 * Y: year
 * M: month
 * D: day
 * H: hour
 * m: minutes
 * S: seconds
 */
/**
 * 可根据需要传递pattern得到自己想要的结果
 * @param date 日期对象
 * @param pattern
 * @returns {string}
 */
const formatTime = (date = new Date(), pattern = 'Y/M/D') => {
    const year = date.getFullYear()
    const month = date.getMonth() + 1
    const day = date.getDate()
    const hour = date.getHours()
    const minutes = date.getMinutes()
    const seconds = date.getSeconds()
    
    return pattern
        .replace('Y', year)
        .replace('M', formatNumber(month))
        .replace('D', formatNumber(day))
        .replace('H', formatNumber(hour))
        .replace('m', formatNumber(minutes))
        .replace('S', formatNumber(seconds))
}

代码测试

console.log(formatTime()) // 2018/04/10
console.log(formatTime(new Date(2018, 3, 21))) // 2018/04/21
console.log(formatTime(new Date(1822333333333),'Y-M-D H:m:S')) // 2027-10-01 03:42:13
console.log(formatTime(new Date(2018, 3, 21), 'Y年M月D日')) // 2018年04月21日

你可能感兴趣的:(javascript)