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'))
        }

 

发表评论

邮箱地址不会被公开。 必填项已用*标注