1、计算两个日期的差(时间格式为2020-02-02)

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;
}

2、日期前一天、后一天函数

//前一天。value1 在data 里声明
 beforeDate() {
   var beforeDay = new Date();
    let oldata = new Date(
      new Date(beforeDay).getTime() - 24 * 60 * 60 * 1000
    ); //计算当前日期 -1
    beforeDay = this.convertToDate(oldata); //格式化日期并赋值
  },
//后一天 value2在data 里声明
afterDate() {
   var afterDay = new Date();
  let odata = new Date(
    new Date(afterDay).getTime() + 24 * 60 * 60 * 1000
  ); //计算当前日期 +1
  this.afterDay = 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;
 },

3、计算两个时间差 – 小时数

//日期相减,得到小时数
//leave_time 为离开时间 
//Math.ceil();向上取整 
//Math.floor(5/3);向下取整
//Math.round(5/3);四舍五入
//parseInt(5/3);直接取整,去掉小数部分
//getTime();把时间转换为毫秒
convertToHour(date = 2020-02-10) {	
   var leave_time = (new Date(date)).getTime() / 100 //得到时间戳
   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 )//打印向上取整的小时
   return time;
 },

4、计算两个时间差 – 分钟数

// 日期相减,得到分钟数
convertToMinutes (nowTime = 2020-09-27 10:01:16) {
	var val= 2020-09-27 10:01:37;
	let start = new Date(that.nowTime);
	let endTime = new Date(val);
	let day = ( endTime.getTime() - start.getTime() )
	var duration = Math.floor(day/1000/60)//得到分钟数
	return duration;
}

旨在分享

Logo

前往低代码交流专区

更多推荐