1:封装日期格式转换为yyy-mm-dd

 convertToDate(date) {
          var date = new Date(date);
          var y = date.getFullYear();
          var m = date.getMonth() + 1;
          var d = date.getDate();
          m = m < 10 ? "0" + m : m; //月小于10,加0
          d = d < 10 ? "0" + d : d; //day小于10,加0
          return y + "-" + m + "-" + d;
        },

2:计算两个时间 的差 ,得到相差天数:( date1 和date2是2002-12-18格式)

DateDiff(date1 , date2){    //date1和date2是2002-12-18格式
          var date1Str = date1.split("-");//将日期字符串分隔为数组,数组元素分别为年.月.日
          //根据年 . 月 . 日的值创建Date对象
          var date1Obj = new Date(date1Str[0],(date1Str[1]-1),date1Str[2]);
          var date2Str = date2.split("-");
          var date2Obj = new Date(date2Str[0],(date2Str[1]-1),date2Str[2]);
          var t1 = date1Obj.getTime();
          var t2 = date2Obj.getTime();
          var dateTime = 1000*60*60*24; //每一天的毫秒数
          var minusDays = Math.floor(((t2-t1)/dateTime));//计算出两个日期的天数差
          var days = Math.abs(minusDays);//取绝对值
          return days;
    }

3:日期前一天,和后一天的函数

//前一天。value1 在data 里声明
 beforeDate() {
          // this.value1 = new Date(this.valueDate.setDate(this.value1.getDate() - 1))
          //前一天
          let odata = new Date(
            new Date(this.value1).getTime() - 24 * 60 * 60 * 1000
          ); //计算当前日期 -1
          this.value1 = this.convertToDate(odata); //格式化日期并赋值
        },
 //后一天 value2在data 里声明
   afterDate() {
          // this.value2 = new Date(this.valueDate.setDate(this.value2.getDate() + 1))
          //后一天
          let odata = new Date(
            new Date(this.value2).getTime() + 24 * 60 * 60 * 1000
          ); //计算当前日期 +1
          this.value2 = this.convertToDate(odata); //格式化日期并赋值
        },   
         //日期格式转换
 convertToDate(date) {
          var date = new Date(date);
          var y = date.getFullYear();
          var m = date.getMonth() + 1;
          var d = date.getDate();
          m = m < 10 ? "0" + m : m; //月小于10,加0
          d = d < 10 ? "0" + d : d; //day小于10,加0
          return y + "-" + m + "-" + d;
        },   

4:在原有日期增加days天数,默认增加1天 (date为原有日期,days为增加天数)

addDate(date, days) {
  if (days === undefined || days === '') {
    days = 1;
  }
  const dayTime = new Date(date);
  dayTime.setDate(dayTime.getDate() + days);
  let month = dayTime.getMonth() + 1;
  let day = dayTime.getDate();
  const mm = `'${month}'`;
  const dd = `'${day}'`;

  // 单位数前面加0
  if (mm.length === 3) {
    month = `0${month}`;
  }
  if (dd.length === 3) {
    day = `0${day}`;
  }

  const time = `${dayTime.getFullYear()}-${month}-${day} ` + '14' + ':' + '00' + ':' + '00';
  return time;
}

5:两个时间相减得到小时数

//leave_time 为离开时间 
//Math.ceil();向上取整 
 //Math.floor(5/3);向下取整
// Math.round(5/3);四舍五入
//parseInt(5/3);直接取整,去掉小数部分
//getTime();把时间转换为毫秒
    //把离开时间转换成毫秒类型的时间
        let a=leave_time.split(/[^0-9]/);
         let d=new Date(a[0],a[1]-1,a[2],a[3],a[4],a[5]); 
         let ms = new Date().getTime() - (d.getTime());//得到现在时间减去离开世间的毫秒数
        let time = (Math.ceil(ms / 1000 / 60 / 60));//得到小时,向上取整
              console.log(time )//打印向上取整的小时

6:计算两个时间差----分钟数


           //that.nowTime = 2020-09-27 10:01:16
           //val= 2020-09-27 10:01:37
          let start = new Date(that.nowTime);
          let endTime = new Date(val);
          let day = ( endTime.getTime() - start.getTime() )
          that.duration = Math.floor(day/1000/60)//得到分钟数

7:时间戳转日期格式yyyy-mm-dd hh:mm:ss

 timestampToDate2(timestamp) {
  const date = new Date(timestamp)
  const year = date.getFullYear()
  const month = String(date.getMonth() + 1).padStart(2, '0')
  const day = String(date.getDate()).padStart(2, '0')
  const hours = String(date.getHours()).padStart(2, '0')
  const minutes = String(date.getMinutes()).padStart(2, '0')
  const seconds = String(date.getSeconds()).padStart(2, '0')
  return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
}
Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐