js 格式化日期函数
背景:项目中经常遇见时间格式转换的问题
概念: 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数 时间戳转字符串格式方法:
formatTime(time, pattern) {
const _pattern = pattern || 'yyyy-MM-dd hh:mm:ss'
const date = new Date(time)
if (date.toString() === 'Invalid Date') {
// console.error('日期转换失败')
return ''
}
const timeObj = {
yyyy: date.getFullYear(),
MM: `0${date.getMonth() + 1}`.slice(-2),
M: date.getMonth() + 1,
dd: `0${date.getDate()}`.slice(-2),
d: date.getDate(),
hh: `0${date.getHours()}`.slice(-2),
h: date.getHours(),
mm: `0${date.getMinutes()}`.slice(-2),
m: date.getMinutes(),
ss: `0${date.getSeconds()}`.slice(-2),
s: date.getSeconds()
}
const timeStr = _pattern.replace(/(yyyy|MM|M|dd|d|hh|h|mm|m|ss|s)+/g, function(match, p) {
const value = timeObj[p]
return value
})
return timeStr
},
|