JavaScript实现计算两个日期之间的天数

时间:2022-09-05 07:54:57

以“yyyy-MM-dd”格式为例,现在有两个日期,分别为“2006-01-01”,“2007-05-20”。

1、调用Date.parser()方法,将字符串格式的时间戳转换为Date类型时间对象;

2、调用DateObject.getTime()方法获取两个Date的毫秒数;

3、计算两个毫秒数的差;

4、使用Math.abs()方法,取差值的绝对值;

5、将毫秒数转换为天数,也就是用毫秒数除以(1000*60*60*24),最终得到的结果用parserInt()转为整型;

6、计算结束。

示例代码如下:

function getDateDiff(startDate, endDate) {
    // 将字符串转为Date对象,并获取毫秒数;
    var startTime = new Date(Date.parse(startDate)).getTime();
    var endTime = new Date(Date.parse(endDate)).getTime();
    // 计算毫秒数的差,并换算成天数;
    var diff = Math.abs(startTime - endTime);
    var days = parseInt(diff / (1000 * 60 * 60 * 24), 10);
    return days;
}