JS 如何计算两个日期之间的月份,不足一个月按一个月计算?

例如:2018-8-16和2018-9-16 计算出来应该是一个月,2018-8-16和2018-9-17,计算出来应该是两个月

function countHours(){    var startTime = $("#startTime").val();    var endTime = $("#endTime").val();
    time1 = Date.parse(new Date(startTime));
    time2 = Date.parse(new Date(endTime));    var time3 =  parseInt(Math.abs(time2 - time1) / 1000 / 60 / 60 / 24 /30) ;
    $("#yearSpan").text( time3 + "个月");
}


翻翻过去那场雪
浏览 1579回答 2
2回答

慕哥9229398

求得 time3 时向上取整 Math.ceil(),不要直接 parseInt。

慕村225694

每月固定30天?不考虑28 29 31天的情况么  function countMonths (start, end) {    let startTime = new Date(start)    let endTime = new Date(end)    return (endTime.getYear() - startTime.getYear()) * 12 + endTime.getMonth() - startTime.getMonth() + (endTime.getDate() > startTime.getDate() ? 1 : 0)   } $("#yearSpan").text( countMonths($("#startTime").val(),$("#endTime").val()) + "个月")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript