根据工期计算月份和年份

Calculation of month and year based on duration

本文关键字:计算      更新时间:2023-09-26

可用数据:月、年、持续时间。需要在给定的持续时间内迭代一个月,并且必须找出给定持续时间的月份。

例如,如果所选月份为2015年3月,持续时间为4,则结果应为2014年11月,即所选月份之前的4个月。

最好的方法是什么?

momentjs非常适合这个:

var yourDateObject = new Date;
var fourMonthsAgo = moment(yourDateObject).subtract(4, 'months');

如果你的日期格式像"2015年3月",你可以简单地进行var yourDateObject = moment('Mar 2015')

您想要这样的东西:

function timeMachine(oldDate, n){
   var d = new Date(oldDate);
   d.setMonth(d.getMonth() + n);
   return d;
}

其中参数n是月数,使用负值进行减法,这是纯JavaScript,无需安装其他库。

示例:

timeMachine('Mar 2015', -4);