vue-过滤器-js日期格式转换(时间戳转 日期格式 2017-11-01)

我是在vue项目中应用的,要是不在vue项目中直接 引用函数本身就好。

创建js文件 format.js


 
代码:

export function formatDate (date, fmt) {
  if (/(y+)/.test(fmt)) {
    fmt = fmt.replace(
      RegExp.$1,
      (date.getFullYear() + '').substr(4 - RegExp.$1.length)
    );
  }
  var o = {
    '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()
  }; // 月份 // 日 // 小时 // 分 // 秒 // 季度 // 毫秒
  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 : ('00' + str).substr(str.length)
      );
    }
  }
  return fmt;
}

在需要的页面引用:

import { formatDate } from '@/common/js/format.js';

@符号是在webpack.base.conf配置的别名,指向路径src

代码:

resolve: {
    extensions: ['.js', '.vue', '.json'],
    alias: {
      'vue$': 'vue/dist/vue.esm.js',
      '@': resolve('src'),
    }
  },

调用时,直接在所用到的vue实例中创建过滤器:

filters: {
    formatDate (timestamp) {
      var data = new Date(timestamp);
      return formatDate(data, 'yyyy-MM-dd');
    }
  }

大功告成,dom部分直接使用就可以了

{{timestamp | formatDate}}

显示:

vue-过滤器-js日期格式转换(时间戳转 日期格式 2017-11-01)_第1张图片

 



转载于:https://www.cnblogs.com/decayedTooth/p/9144919.html

你可能感兴趣的:(vue-过滤器-js日期格式转换(时间戳转 日期格式 2017-11-01))