如何从当前日期开始过去12个月

时间:2018-01-17 10:42:06

标签: javascript jquery date

我想显示过去12个月,但是年份没有附在列表中

var theMonths = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
var today = new Date();
var aMonth = today.getMonth();
var i;

for (i = 0; i < 12; i++) {
  document.writeln(theMonths[aMonth] + '<br>'); //here you can do whatever you want...
  aMonth++;
  if (aMonth > 11) {
    aMonth = 0;
  }
}

如何从当月开始过去12个月。

2 个答案:

答案 0 :(得分:3)

如果要将年份包含在输出日期中,则最简单的方法是在循环中将当前日期添加1个月。然后,您可以在循环中检索该日期的月份和年份,如下所示:

&#13;
&#13;
var theMonths = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
var now = new Date();

for (var i = 0; i < 12; i++) {
  var future = new Date(now.getFullYear(), now.getMonth() + i, 1);
  var month = theMonths[future.getMonth()];
  var year = future.getFullYear();
  console.log(month, year);
}
&#13;
&#13;
&#13;

请注意,从您的问题中复制的此循环将来会有几个月,但您的描述表明您要检索已过去的月份。在这种情况下,您只需使用0> -12循环到i--

答案 1 :(得分:0)

如果我理解你的问题,你想要追踪当前月份,然后是前一个月等等。从你的句子判断:

  

如何才能获得过去 12个月

尝试使用以下代码替换循环中的代码:

aMonth--;
if (aMonth < 0) {
    aMonth = 11;
}

如果情况并非如此,请详细说明您想要的结果:)