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;
}
var date = new Date(date);
date.setDate(date.getDate() + days);
var month = date.getMonth() + 1;
var day = date.getDate();
var mm = "'" + month + "'";
var dd = "'" + day + "'";
//单位数前面加0
if(mm.length == 3) {
month = "0" + month;
}
if(dd.length == 3) {
day = "0" + day;
}
var time = date.getFullYear() + "-" + month + "-" + day
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)//得到分钟数