format.js
export const formatDateTime = (date, fmt) => {
if (!date) {
return "";
}
if (typeof date === 'string') {
date = new Date(date);
}
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
}
let o = {
'M+': date.getMonth() + 1,
'd+': date.getDate(),
'h+': date.getHours(),
'm+': date.getMinutes(),
's+': date.getSeconds()
}
for (let k in o) {
let str = o[k] + '';
if (new RegExp(`(${k})`).test(fmt)) {
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
}
}
return fmt;
}export const format = {
formatDateTime
}export default format;
.ts
import format from "@/plugins/format";
@Component({
filters: {
formatDateTime(date) {
return format.formatDateTime(date, "yyyy-MM-dd hh:mm:ss");
}
}
})
.vue
{{CreateTime|formatDateTime}}
【Vue时间格式化】