vue 时间格式化

2019-07-17  本文已影响0人  哒哒哒哒da

1.函数封装

/**
 * splitValue 获取当前时间
 * @param value
 * @returns {array}
 */
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 : ('00' + str).substr(str.length)
      );
    }
  }
  return fmt;
}

export default {
  formatDate,
};

2.文件引入(注意:由于是函数,故名字要和函数的名字一致)

// 获取格式化时间函数
import {formatDate} from '@/common/filter.js';

3.使用

(1)在过滤器中使用

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

(2)在HTML中使用

<div class="time">{{item.XXX| formatDate}}</div>

(3)在JS中使用

let nowDate = formatDate(new Date(), 'yyyy-MM-dd hh:mm:ss');
------------------------ 分割线 ------------------------

方法2 - 函数封装 其他操作如上

/**
 * splitValue 时间戳 转换
 * @returns {string}
 */

export function formatDate(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;
}

上一篇下一篇

猜你喜欢

热点阅读