根据持续时间计算月份和年份

时间:2015-11-17 22:23:24

标签: javascript

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

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

这样做的最佳方式是什么?

2 个答案:

答案 0 :(得分:1)

momentjs非常适合:

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

如果您的日期格式为" 2015年3月和#34;你可以简单地做var yourDateObject = moment('Mar 2015')

答案 1 :(得分:0)

你想要这样的东西:

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

如果参数 n 是月数,请使用负值进行减法,这是普通的JavaScript,无需安装其他库。

示例:

timeMachine('Mar 2015', -4);