2015-11-17 89 views
0

可用数据:月,年,持续时间。需要遍历给定的持续时间的月份,并且必须找出给定持续时间的月份。根据持续时间计算月份和年份

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

这样做的最好方法是什么?

回答

1

momentjs非常适合这样的:

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

,如果你的日期格式,如 “2015年3月”,你可以简单地做var yourDateObject = moment('Mar 2015')

+0

我没有一个日期。我应该只在月份进行迭代。 – Roopa

+0

所以你可以做'var yourDateObject = moment('Mar 2015')'对吗? – Macmee

+0

雅应该工作的罚款。我会尽力。 – Roopa

0

你想是这样的:

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

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

实施例:

timeMachine('Mar 2015', -4); 
+0

这里的挑剔,但调用函数m有点粗略,我们不希望谷歌C&PING到他们的代码! – Macmee

+0

我们不是在这里给人们代码复制,而是让他们了解如何用特定的编程语言解决他们的问题,而不是使用库,尤其是具有这样一个基本功能:) –

+0

我同意,但googlers是去谷歌。另外,你完全错过了一个机会来称呼你的功能很酷,比如timeTraveller或者其他的东西。 – Macmee