vue 过滤器,获取时间戳对象转换为日期格式
1. 简单页面展示用
<template> <!-- time为时间戳 --> <div>{{time | formatDate}}</div> <!-- 结果为 2018-01-23 18:31:35 --> </template> export default { data() { return { time: 1516703495241 }; }, filters: { formatDate: function (value) { let date = new Date(value); let y = date.getFullYear(); let MM = date.getMonth() + 1; MM = MM < 10 ? ('0' + MM) : MM; let d = date.getDate(); d = d < 10 ? ('0' + d) : d; let h = date.getHours(); h = h < 10 ? ('0' + h) : h; let m = date.getMinutes(); m = m < 10 ? ('0' + m) : m; let s = date.getSeconds(); s = s < 10 ? ('0' + s) : s; return y + '-' + MM + '-' + d + ' ' + h + ':' + m + ':' + s; } } }
2在方法中使用过滤器
//原写法 <div>{{time | formatDate}}</div> //方法中写法 this.$options.filters.formatDate(value) res.data.list[0].avgTalkDuration= this.$options.filters.formatSeconds(res.data.list[0].avgTalkDuration)
3. 复杂业务使用 moment.js
安装: cnpm install moment –save
vue中使用:
import moment from 'moment' <div>{{dateBegin | formatDate}}</div> filters: { formatDate: function (value) { return moment(value).format('YYYY-MM-DD') } }, submit() { console.log(moment(this.dateBegin).format('YYYY-MM-DD')) }