date1 和 date2 如果都是日期类型,则可以直接相减得到毫秒数,
    如果不是日期类型可以转换为日期类型再相减

    1. // 若要计算日期跨度范围, 要对返回结果加1
    2. function calcDateDiff (date1 = new Date(), date2 = new Date()) {
    3. date1 = new Date(date1);
    4. date2 = new Date(date2);
    5. let dateDiffer = date2 - date1;
    6. dateDiffer = converTime(dateDiffer/1000);
    7. return dateDiffer;
    8. function converTime(time = 0) {
    9. time = Number(time);
    10. var s = time % 60;
    11. var m = ((time-s)/60) % 60;
    12. var h = (((time-s)/60)-m)/60;
    13. // return `${h}小时${m}分钟${s}秒`;
    14. var day = Math.ceil(h / 24);
    15. return day;
    16. }
    17. }
    1. var date1 = new Date('2019-08-01');
    2. var date2 = new Date('2019-08-02');
    3. var dateDiffer = date2 - date1;
    4. function converTime(time = 0) {
    5. time = Number(time);
    6. var s = time % 60;
    7. var m = ((time-s)/60) % 60;
    8. var h = (((time-s)/60)-m)/60;
    9. return `${h}小时${m}分钟${s}秒`;
    10. }
    11. converTime(dateDiffer/1000);

    注意:

    1. 除以1000转化成秒数后再计算时间
    2. new Date(‘yyyy-mm-dd’) 转化的时间是八点的时间,可以看到下面 截图C 和 截图D的结果是一样的


    截图A **↓
    image.png
    截图B **
    image.png
    截图C **↓
    image.png
    截图D **↓**
    image.png