关于时间处理的封装函数

267 阅读1分钟

获取当前时间

    // 当前时间
    getNowTime (val){
      let date = new Date();
      let year = date.getFullYear();
      let month = (date.getMonth() + 1) < 10 ? '0' + (date.getMonth() + 1): (date.getMonth() + 1);
      let day = date.getDate()<10?'0'+date.getDate():date.getDate();
      let hour = date.getHours() < 10?'0' + date.getMinutes() : date.getMinutes();
      let minute = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getSeconds();
      let time = year + "-" + month + "-" + day
      console.log('时间' , time);
     return time
    },

两个时间相差的天数

    /**
    * 计算两个日期相差的天数
    * sDate1和sDate2是2006-12-18格式 
    */
    DateDiff(sDate1, sDate2){   
          let  aDate,  oDate1,  oDate2,  iDays  , years
          aDate   =  sDate1.split("-")
          oDate1 = new Date(aDate[0], aDate[1],aDate[2])    //转换为12-18-2006格式  
          aDate   =  sDate2.split("-")  
          oDate2 = new Date(aDate[0], aDate[1],aDate[2]) 
          iDays   =  parseInt(Math.abs(oDate1  -  oDate2)/1000/60/60/24)    //把相差的毫秒数转换为天数 
          if((oDate1  -  oDate2)/1000/60/60/24 > 0){
            console.log('大于,是负数')
            this.$notify({
              title: "提示",
              message: "续费时间不能小于当前过期时间",
              type: "error",
              duration: 2000,
            });
            return
          } else{
            console.log('小于,是正数')
          }
          years = (iDays/365).toFixed(2);  
        return  years
    },

获取当前日期前后多少天的日期

    //  获取当前日期前后多少天的日期,之前多少天传正数,后面多少天传负数,今天传0,
    //  num为传入的数字, time为传入的指定日期,如果time不传,则默认为当前时间
    getBeforeDate(num, time) {
        let n = num;
        let d = '';
        if(time) {
            d = new Date(time);
        } else {
            d = new Date();
        }
        let year = d.getFullYear();
        let mon = d.getMonth() + 1;
        let day = d.getDate();
        if(day <= n) {
            if(mon > 1) {
                mon = mon - 1;
            } else {
                year = year - 1;
                mon = 12;
            }
        }
        d.setDate(d.getDate() - n);
        year = d.getFullYear();
        mon = d.getMonth() + 1;
        day = d.getDate();
        let s = year + "-" + (mon < 10 ? ('0' + mon) : mon) + "-" + (day < 10 ? ('0' + day) : day);
        return s;
    },

日期增加函数

// 日期增加函数
      addDate(date,days) {
          let d = new Date(date)
          d.setDate(d.getDate() + days)
          let month = d.getMonth() + 1
          let day = d.getDate()
          if (month < 10) {
            month = '0' + month
          }
          if (day < 10) {
              day = '0' + day
          }
          let val = d.getFullYear() + '-' + month + '-' + day
          return val
      },