为了方便在视图中使用,需要filter过滤器处理下。
第一步:新建一个js文件 date.js
const isNullOrEmpty = function(val) {
if (val == null || val == "" || typeof(val) == undefined) {
return true;
} else {
return false;
}
}
const timeFormat = (value, format) => {
let date = new Date(value);
let y = date.getFullYear();
let m = date.getMonth() + 1;
let d = date.getDate();
let h = date.getHours();
let min = date.getMinutes();
let s = date.getSeconds();
let result = "";
if (format == undefined) {
result = `${y}-${m < 10 ? "0" + m : m}-${d < 10 ? "0" + d : d} ${
h < 10 ? "0" + h : h
}:${min < 10 ? "0" + min : min}:${s < 10 ? "0" + s : s}`;
}
if (format == "yyyy-mm-dd") {
result = `${y}-${m < 10 ? "0" + m : m}-${d < 10 ? "0" + d : d}`;
}
if (format == "yyyy-mm") {
result = `${y}-${m < 10 ? "0" + m : m}`;
}
if (format == "mm-dd") {
result = ` ${mm < 10 ? "0" + mm : mm}:${ddmin < 10 ? "0" + dd : dd}`;
}
if (format == "hh:mm") {
result = ` ${h < 10 ? "0" + h : h}:${min < 10 ? "0" + min : min}`;
}
if (format == "yyyy") {
result = `${y}`;
}
return result;
};
export {
isNullOrEmpty,
timeFormat
}
第二步,挂载到全局,方便每个页面直接使用。
打开main.js写入过滤器和挂载全局
import * as filters from '@/util/date.js'
Object.keys(filters).forEach(key => {
Vue.filter(key, filters[key])
})
第三步,直接去键入数据看效果吧。
{{date|isNullOrEmpty}}
{{date|timeFormat('yyyy-mm-dd')}}
{{date|timeFormat('yyyy-mm')}}
{{date|timeFormat('hh:mm')}}
{{date|timeFormat('yyyy')}}
{{date|timeFormat}}