计算两个日期之间的月数,每月迭代一个函数

时间:2014-05-04 18:54:03

标签: javascript

我需要编写一个带两个日期的函数(startDate,endDate)以月或年为单位计算它们之间的时间(取决于输入)。当找到月数或年数时,我需要迭代一个循环,该循环运行一个非常简单的ajax调用(我正在向Quickbase添加一条记录),用于开始日期和结束日期之间的每个月或者年份。

我已经接受了几次黑客攻击,但是当我试图计算月数时(由于日历日期(即费用有28天等),我遇到了麻烦...我计算了两次之间的时间两天的日期,但我需要数月或数年。

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:4)

开始尝试

function Noofmonths(date1, date2) {
    var Nomonths;
    Nomonths= (date2.getFullYear() - date1.getFullYear()) * 12;
    Nomonths-= date1.getMonth() + 1;
    Nomonths+= date2.getMonth() +1; // we should add + 1 to get correct month number
    return Nomonths <= 0 ? 0 : Nomonths;
}

答案 1 :(得分:1)

获取date1 year和date2 year。 获得差异并乘以12。 获取date1 month和date2 month。 得到不同。 将差异加在一起。