Vue手写时间过滤器

使用方法: <td  v-cloak>{{item.date | format('yyyy-MM-dd hh:mm:ss')}}</td> 


定义:

  Vue.filter('format', function(value, arg) {

      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);

    })

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。