jq计算两个日期相差的天数

  • jquery简单计算两个日期相差的天数
/*
 * 计算两个日期相差的天数
 * addtime 2020年7月30日 21:16:37
 * sDate1 开始日期 yyyy-MM-dd格式
 * sDate2 结束日期 yyyy-MM-dd格式
 */
function DateDiff(sDate1, sDate2) {
    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(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24); //把相差的毫秒数转换为天数

    return iDays;  //返回相差天数
}
// 调用
let and = DateDiff(stime,etime)
console.log(and)
  • 扩展:根据指定的一个日期和相差的天数,获取另外一个日期
/*
 * 计算两个日期相差的天数
 * addtime 2020年7月30日 21:20:27
 * 根据指定的一个日期和相差的天数,获取另外一个日期
 * dateParameter为指定已经存在的日期yyyy-MM-dd
 * num为相差天数为整型
 */
function addByTransDate(dateParameter, num) {
    var translateDate = "", dateString = "", monthString = "", dayString = "";
    translateDate = dateParameter.replace("-", "/").replace("-", "/"); ;
  
    var newDate = new Date(translateDate);
    newDate = newDate.valueOf();
    newDate = newDate + num * 24 * 60 * 60 * 1000;  //备注 如果是往前计算日期则为减号 否则为加号
    newDate = new Date(newDate);
  
    //如果月份长度少于2,则前加 0 补位  
    if ((newDate.getMonth() + 1).toString().length == 1) {
        monthString = 0 + "" + (newDate.getMonth() + 1).toString();
    } else {
        monthString = (newDate.getMonth() + 1).toString();
    }
 
    //如果天数长度少于2,则前加 0 补位  
    if (newDate.getDate().toString().length == 1) {
        dayString = 0 + "" + newDate.getDate().toString();
    } else {
        dayString = newDate.getDate().toString();
    }
    dateString = newDate.getFullYear() + "-" + monthString + "-" + dayString;
    return dateString;
}

猜你喜欢

转载自blog.csdn.net/qq_15957557/article/details/107701081