Vue filter格式化时间戳时间成标准日期格式的方法

Vue filter格式化时间戳时间成标准日期格式的方法

<template>
  
  <div>
    日期:{
    {time | format('yyyy-MM-dd hh:mm:ss')}}
  div>
template>

<script>
  import Vue from "vue"
  /*创建全局过滤器,需要在Vue实例之前定义*/
  Vue.filter('format', function(value, arg) {
      
    /*dateFormat: Vue filter格式化时间戳时间成标准日期格式的方法*/
    function dateFormat(date, format) {
      
      if (typeof date === "string") {
      
        var mts = date.match(/(\/Date\((\d+)\)\/)/);
        if (mts && mts.length >= 3) {
      
          date = parseInt(mts[2]);
        }
      }
      date = new Date(date);
      if (!date || date.toUTCString() == "Invalid Date") {
      
        return "";
      }
      var map = {
      
        "M": date.getMonth() + 1, //月份
        "d": date.getDate(), //日
        "h": date.getHours(), //小时
        "m": date.getMinutes(), //分
        "s": date.getSeconds(), //秒
        "q": Math.floor((date.getMonth() + 3) / 3), //季度
        "S": date.getMilliseconds() //毫秒
      };

      format = format.replace(/([yMdhmsqS])+/g, function(all, t) {
      
        var v = map[t];
        if (v !== undefined) {
      
          if (all.length > 1) {
      
            v = '0' + v;
            v = v.substr(v.length - 2);
          }
          return v;
        } else if (t === 'y') {
      
          return (date.getFullYear() + '').substr(4 - all.length);
        }
        return all;
      });
      return format;
    }

    return dateFormat(value, arg);
  })

  export default {
      
    name: "FilterData",
    data: function () {
      
      return {
      
        time:new Date()
      }
    }
  }
script>

<style scoped>

style>

你可能感兴趣的:(vue,vue,filter)