标题 我想大家可能都会遇到 在做开发时 会对不同的时间格式进行转换 特别是在做后台管理系统时 很多的表格查询都会遇到时间传参及时间显示的处理。下面给大家分享一个处理的方法,欢迎大家交流。
一、针对时间封装一个函数
parseTime (time, cFormat) {
if (!time || 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
if (typeof (time) === 'string') time = time.replace(/-/g, '/')
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]
if (result.length > 0 && value < 10) {
value = '0' + value
}
return value || 0
})
return timeStr
}
二、使用方法
传入需要一个转换的对象,及想要显示的格式
1、显示年月日
parseTime(1640618660,’{y}-{m}-{d}’) 结果: 2021-12-27
2、显示年月日 时分秒
parseTime(1640618660,’{y}-{m}-{d} {h}:{i}:{s}’) 结果: 2021-12-27 23:24:20
3、显示年月日 时分秒 及星期
parseTime(‘2021-12-27 23:24:20’,’{y}-{m}-{d} {h}:{i}:{s} 星期{a}’) 结果: 2021-12-27 23:24:20 星期一