来自:https://blog.****.net/m0_37068028/article/details/72898154 侵删
来自:https://segmentfault.com/a/1190000010378259 侵删
第一种:
// template
{{date | formatDate}} //script
import {formatDate} from '../../common/js/date'
filters: {
formatDate (time) {
let date = new Date(time) return formatDate(date, 'yyyy-MM-dd hh:mm')
}
}
//date.js
export function formatDate (date, fmt) {
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) {
if (new RegExp(`(${k})`).test(fmt)) {
let str = o[k] + ''
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str))
}
}
return fmt
}
function padLeftZero (str) {
return ('00' + str).substr(str.length)
}
第二种:
npm install moment --save
main.js 中
import moment from 'moment/moment'
添加过滤器:
Vue.filter('moment', function (value, formatString) {
formatString = formatString || 'YYYY-MM-DD HH:mm:ss';
// return moment(value).format(formatString); // value可以是普通日期 20170723
return moment.unix(value).format(formatString); // 这是时间戳转时间
}); /* eslint-disable no-new */
new Vue({
el: '#app',
template: '<App/>',
components: { App }
})
页面中使用
<template>
<div id="app">
<div>
{{ datetime | moment }}
</div>
</div>
</template> <script>
export default {
name: 'app',
data () {
return {
datetime: '1500799859'
}
}
}
</script>
结果:
2017-07-23 16:50:59