tool.js

vue时间格式过滤器(今天,昨天,周几,年月日)

TimeFormat(oldDateValue) {
      let currentDate = new Date();
      let day = currentDate.getDay();
      let weeks = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
      let week = weeks[day];
      let oldDate = new Date(oldDateValue);
      let showOldDate = "";
      let a = 2
      if( Math.floor((currentDate - oldDate)/1000/3600/24) > 7 ) {
        let oldDateArr =  dateFormat(oldDate, "yyyy-MM-dd").split("-");
        let currentDataArr = dateFormat(currentDate, "yyyy-MM-dd").split("-");
        if(currentDataArr[0] === oldDateArr[0]) {
          if(oldDateArr[1].split("")[0] === "0") {
            oldDateArr[1] = oldDateArr[1].split("")[1];
          }
          if(oldDateArr[2].split("")[0] === "0") {
            oldDateArr[2] = oldDateArr[2].split("")[1];
          }
          showOldDate = oldDateArr[1] + "月" + oldDateArr[2] + "日";
        } else {
          if(oldDateArr[1].split("")[0] === "0") {
            oldDateArr[1] = oldDateArr[1].split("")[1];
          }
          if(oldDateArr[2].split("")[0] === "0") {
            oldDateArr[2] = oldDateArr[2].split("")[1];
          }
          showOldDate = oldDateArr[0] + "年" + oldDateArr[1] + "月" + oldDateArr[2] + "日";
        }
      } else {
        let oldDateArr =  dateFormat(oldDate, "yyyy-MM-dd hh:mm:ss").split(" ");
        let currentDateArr =  dateFormat(currentDate, "yyyy-MM-dd hh:mm:ss").split(" ");
        let yMd_old = oldDateArr[0].split("-");
        let hMs_old = oldDateArr[1].split(":");
        let yMd_new = currentDateArr[0].split("-");
        let hMs_new = currentDateArr[1].split(":");
        if((currentDate - oldDate)/1000/3600/24 < 1) {
          if(yMd_old[2] === yMd_new[2]) {
            showOldDate = oldDateArr[1];
          } else {
            showOldDate = "昨天" + oldDateArr[1];
          }
        }
        if((currentDate - oldDate)/1000/3600/24 > 1) {
          if(Number(yMd_old[2]) === (Number(yMd_new[2])-1)) {
            showOldDate = "昨天" + oldDateArr[1];
          } else {
            showOldDate = weeks[oldDate.getDay()];
            if(currentDate.getDay() > 2) {
              if( oldDate.getDay() < currentDate.getDay()) {
                showOldDate = weeks[oldDate.getDay()];
              } else {
                if(yMd_old[1].split("")[0] === "0") {
                  yMd_old[1] = yMd_old[1].split("")[1];
                }
                if(yMd_old[2].split("")[0] === "0") {
                  yMd_old[2] = yMd_old[2].split("")[1];
                }
                showOldDate = yMd_old[1] + "月" + yMd_old[2] + "日";
              }
            } else {
              if(yMd_old[1].split("")[0] === "0") {
                yMd_old[1] = yMd_old[1].split("")[1];
              }
              if(yMd_old[2].split("")[0] === "0") {
                yMd_old[2] = yMd_old[2].split("")[1];
              }
              showOldDate = yMd_old[1] + "月" + yMd_old[2] + "日";
            }
          }
        }
      }
      return showOldDate;
    },
/**
 * 日期对象转为日期字符串
 * @param date 需要格式化的日期对象
 * @param sFormat 输出格式,默认为yyyy-MM-dd                         年:y,月:M,日:d,时:h,分:m,秒:s
 * @example  dateFormat(new Date())                                "2017-02-28"
 * @example  dateFormat(new Date(),'yyyy-MM-dd')                   "2017-02-28"
 * @example  dateFormat(new Date(),'yyyy-MM-dd hh:mm:ss')         "2017-02-28 09:24:00"
 * @example  dateFormat(new Date(),'hh:mm')                       "09:24"
 * @example  dateFormat(new Date(),'yyyy-MM-ddThh:mm:ss+08:00')   "2017-02-28T09:24:00+08:00"
 * @returns {boolean}
 */
function dateFormat(date, sFormat) {
  if (isEmpty(sFormat)) {
      sFormat = 'yyyy-MM-dd'
  }

  if (!(date instanceof Date)) {
      try {
          if (isEmpty(date)) {
              return ''
          }
          if (date.lastIndexOf('.') !== -1) {
              date = date.substr(0, date.lastIndexOf('.'))
          }
          date = date.replace(/\-/g, '/') // eslint-disable-line
          date = new Date(date)
      } catch (e) {
          console.log(e)
      }
  }

  let time = {
      Year: 0,
      TYear: '0',
      Month: 0,
      TMonth: '0',
      Day: 0,
      TDay: '0',
      Hour: 0,
      THour: '0',
      hour: 0,
      Thour: '0',
      Minute: 0,
      TMinute: '0',
      Second: 0,
      TSecond: '0',
      Millisecond: 0,
  }
  time.Year = date.getFullYear()
  time.TYear = String(time.Year).substr(2)
  time.Month = date.getMonth() + 1
  time.TMonth = time.Month < 10 ? '0' + time.Month : String(time.Month)

  time.Day = date.getDate()
  time.TDay = time.Day < 10 ? '0' + time.Day : String(time.Day)

  time.Hour = date.getHours()
  time.THour = time.Hour < 10 ? '0' + time.Hour : String(time.Hour)
  time.hour = time.Hour < 13 ? time.Hour : time.Hour - 12
  time.Thour = time.hour < 10 ? '0' + time.hour : String(time.hour)

  time.Minute = date.getMinutes()
  time.TMinute = time.Minute < 10 ? '0' + time.Minute : String(time.Minute)
  time.Second = date.getSeconds()
  time.TSecond = time.Second < 10 ? '0' + time.Second : String(time.Second)
  time.Millisecond = date.getMilliseconds()

  return sFormat.replace(/yyyy/ig, String(time.Year))
  .replace(/yyy/ig, String(time.Year))
  .replace(/yy/ig, time.TYear)
  .replace(/y/ig, time.TYear)

  .replace(/MM/g, time.TMonth)
  .replace(/M/g, String(time.Month))

  .replace(/dd/ig, time.TDay)
  .replace(/d/ig, String(time.Day))

  .replace(/HH/g, time.THour)
  .replace(/H/g, String(time.Hour))
  .replace(/hh/g, time.Thour)
  .replace(/h/g, String(time.hour))

  .replace(/mm/g, time.TMinute)
  .replace(/m/g, String(time.Minute))
  .replace(/ss/ig, time.TSecond)
  .replace(/s/ig, String(time.Second))
  .replace(/fff/ig, String(time.Millisecond))
}

/**
* 字符串转成时间
* @param v
* @return {Object}
*/
const stingToTime = (v) => {
  if(!isEmpty(v)){
    return {
      year: v.slice(0, 4),
      month: v.slice(4, 6),
      day: v.slice(6, 8),
      hour: v.slice(8, 10),
      minute: v.slice(10, 12),
      second: v.slice(12,14),
    }
  }
}

/**
* 判断对象为空
* @param v
* @return {boolean}
*/
const isEmpty = (v) => {
  if (typeof v === 'undefined') {
      return true
  }
  if (v === undefined || v === 'undefined') {
      return true
  }
  if (v === null) {
      return true
  }
  if (v === '' || v === 'null') {
      return true
  }
  if (v === 0) {
      return true
  }
  switch (typeof v) {
      case 'string' :
          if (v.trim().length === 0) {
              return true
          }
          break
      case 'boolean' :
          if (!v) {
              return true
          }
          break
      case 'number' :
          if (v === 0) {
              return true
          }
          break
      case 'object' :
          return undefined !== v.length && v.length === 0
  }
  return false
}

export {
  empty,
  dateFormat,
  stingToTime,
}

vue金额过滤器

filters: {
    MoneyFormat(money) {
      if (money && money != null) {
        money = String(money);
        var left = money.split('.')[0], right = money.split('.')[1];
        right = right ? (right.length >= 2 ? '.' + right.substr(0, 2) : '.' + right + '0') : '.00';
        var temp = left.split('').reverse().join('').match(/(\d{1,3})/g);
        return (Number(money) < 0 ? '-' : '') + temp.join(',').split('').reverse().join('') + right;
      } else if (money === 0) { 
        return '0.00';
      } else {
        return '';
      }
    }
  },

手机横屏签名功能(vue)





你可能感兴趣的:(tool.js)