JavaScript:从给定日期开始按月递增日期

3

我正在尝试编写一个程序。其中有一个文本框,其值为2013-08-27。我想按月份逐步增加这个日期,最多增加30个月。

ex:-
2013-08-27
2013-09-27 
2013-10-27
2013-11-27
2013-12-27
2014-01-27
2014-02-27

.........
2015-01-27

我已经在谷歌上搜索了这个主题...但是我没有任何线索如何做到这一点..因为我得到了这段代码
var myDate = new Date();

//add a day to the date
myDate.setDate(myDate.getDate() + 1);

但是这给出的结果是11,17,我希望按月增加年份,从给定日期开始每个月增加30个月,请给我任何线索...抱歉我的英语不好。


3
使用 myDate.setMonth(myDate.getMonth() + 1);。该代码作用为将当前日期加一个月。 - Vikram Deshmukh
1个回答

3
尝试以下步骤:
var myDate = new Date();

for(var i =0;i<30; i++)
{
   myDate.setMonth(myDate.getMonth() + 1);
   console.log(myDate);

}

你的解决方案没有处理月份和年份。 - Scription
@Scription,我所在城市的当前时间是 Mon Dec 02 2013 13:55:39 GMT+0400,Mr.G提出的解决方案给出的是 Thu Jan 02 2014 13:55:39 GMT+0400。他的代码有什么问题? - aga
根据页面顶部的示例,当更改月份时,年份也应该随之更改。 根据您的解决方案,只有月份会更改。 - Scription
这段代码运行良好。年份也在每12个月的间隔后更改,感谢您的帮助。但我正在尝试以yyyy-mm-dd格式获取日期,但它给出的日期格式是Mon Dec 02 2013 13:55:39 GMT+0400,我该如何更改日期格式呢?感谢您的回答。 - Allex
1
@Scription - Date对象允许溢出。月份为0-11,因此如果将月份设置为12,则会将您放在下一年的1月。如果将月份设置为-1,则会将您放在上一年的12月。因此,此解决方案通常是有效的。但是,如果myDate是某个月的第31天,则增加到具有30天的月份将跳过该月。(疼! - Matt Johnson-Pint

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接