date1 和 date2 如果都是日期类型,则可以直接相减得到毫秒数,
如果不是日期类型可以转换为日期类型再相减
// 若要计算日期跨度范围, 要对返回结果加1function 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 **↓**
