我有一个报告,在用户只允许选择一个选项,从过去3个月,如下所示:
我想写一个javaScript函数来实现这一点。
我尝试的是:
function getLastMonths(n) {
var months = new Array();
var today = new Date();
var year = today.getFullYear();
var month = today.getMonth() + 1;
var i = 0;
do {
months.push(year + (month > 9 ? "" : "0") + month);
if(month == 1) {
month = 12;
year--;
} else {
month--;
}
i++;
} while(i < n);
return months;
}
然后我通过传递参数调用函数:
document.write(getLastMonths(4));
它打印:
201704,201703,201702,201701
这不是我要求的模式。
有人能帮帮我吗?
7条答案
按热度按时间kulphzqa1#
看这里。由于使用了 *for循环 *,它稍微短了一点
zte4gxcn2#
你可以这样做。只需继续从当前日期中减去
one month
xsuvu9jc3#
试试这个方法。把月份名加到一些
array
中,然后找到索引blpfk2vs4#
由于内部JS名称不是公共的,您必须手动将数字转换为名称。
下面是一个工作示例。它输出的是你在下拉列表中显示月份的方式。
goucqfw65#
如何使用moment.js?
yks3o0rb6#
我修改了前面的代码,并给出了一个例子:小提琴:https://jsfiddle.net/asutosh/rogpxwah/
cu6pst1q7#
下面是一个节点12+,ES2020生成器方法在不到5个路口的代码...
[“2021年7月”,“2021年6月”,“2021年5月”,“2021年4月”]
资料来源: