JavaScript计算指定日期与当前日期的相差天数

时间:2021-08-11 13:59:05

       java中处理2个时间段相差几天很容易,直接调相关方法就行,不过js处理这类问题稍微有点不易,项目开发中也用到了,如下:

//计算两个日期天数差的函数,通用
function dateDiff(sDate2) {
    var sDate1=new Date().pattern("yyyy-MM-dd");
    sDate2=LEx.util.Format.formatDate(sDate2,"yyyy-MM-dd");
    var aDate, oDate1, oDate2, iDays;
    aDate = sDate1.split("-");
    oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);  //转换为yyyy-MM-dd格式
    aDate = sDate2.split("-");
    oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
    iDays = parseInt((oDate1 - oDate2) / 1000 / 60 / 60 / 24); //把相差的毫秒数转换为天数
    return iDays;  //返回相差天数
}


        直接调用此函数,传日期参数就行,如传“2014年7月12日”或者“2014-07-12”,直接返回与当前日期相差的天数,如果传入日期为当前日期之前,那么返回负的,如-2,就代表差2天,传入日期为当前日期之后肯定返回正的了。