element-ui+vue中时间截取格式,防止显示1970-01-01

let time = "2019/05/31 00:00:00";   主要是明白split,splice,join的用法

 let newtime = time.split("/")     结果是2019,05,31 00:00:00,被分割成字符串数组

let newtime = time.split("/").splice(0, 2)    结果是2019,05,已经把作为“日”的数字31去掉了

let newtime = time.split("/").splice(0,2).join('-');  结果是2019-05.

 

//不要时分秒的时间格式过滤器
Vue.filter("dateFormat", function(fmt, date) {
  if (fmt == null || fmt == "") {
    return "";   //后端没有传时间就显示空白,防止table表格中默认显示1970-01-01
  }
  //注意: 苹果手机不支持以“ - ”分割的时间形式, 故必须进行格式转换为‘ YYYY / MM / DD HH: mm: ss‘。
  //date格式是后台返回过来的Timestamp 2018 - 09 - 01 T09: 10: 41.000 + 0000
  if (Object.prototype.toString.call(date) !== "[object Date]") {
    let transTime = moment(date).format("YYYY/MM/DD");
    date = moment(transTime).toDate(); // //利用moment工具生成date对象,npm下载
    // date = new Date(date);
  }
  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() //毫秒
  };
  if (/(y+)/.test(fmt))
    fmt = fmt.replace(
      RegExp.$1,
      (date.getFullYear() + "").substr(4 - RegExp.$1.length)
    );
  for (var k in o)
    if (new RegExp("(" + k + ")").test(fmt))
      fmt = fmt.replace(
        RegExp.$1,
        RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)
      );

  return fmt
    .split(" ")
    .splice(0, 1)
    .join();
});
posted @ 2020-06-08 08:50  limexee  阅读(3386)  评论(0编辑  收藏  举报