date1 和 date2 如果都是日期类型,则可以直接相减得到毫秒数,
如果不是日期类型可以转换为日期类型再相减
// 若要计算日期跨度范围, 要对返回结果加1
function calcDateDiff (date1 = new Date(), date2 = new Date()) {
date1 = new Date(date1);
date2 = new Date(date2);
let dateDiffer = date2 - date1;
dateDiffer = converTime(dateDiffer/1000);
return dateDiffer;
function converTime(time = 0) {
time = Number(time);
var s = time % 60;
var m = ((time-s)/60) % 60;
var h = (((time-s)/60)-m)/60;
// return `${h}小时${m}分钟${s}秒`;
var day = Math.ceil(h / 24);
return day;
}
}
var date1 = new Date('2019-08-01');
var date2 = new Date('2019-08-02');
var dateDiffer = date2 - date1;
function converTime(time = 0) {
time = Number(time);
var s = time % 60;
var m = ((time-s)/60) % 60;
var h = (((time-s)/60)-m)/60;
return `${h}小时${m}分钟${s}秒`;
}
converTime(dateDiffer/1000);
注意:
- 除以1000转化成秒数后再计算时间
- new Date(‘yyyy-mm-dd’) 转化的时间是八点的时间,可以看到下面 截图C 和 截图D的结果是一样的
截图A **↓
截图B **↓
截图C **↓
截图D **↓**