从当前月开始,取历史月时,计算因子为12,每取一次减1,判断为0时,把年份减1,月份还原到12,再推后推;
从当前月开始,取未来月时,计算因子为12,每取一次加1,判断为13时,把年份加1,月份还原到12,再往前推。
<script type="text/javascript">
//根据当前月,取得历史月份集合(从当前月前推:历史)
function complementHistoryDate(numMonth) {
var complDate = [];
var curDate = new Date();
var y = curDate.getFullYear();
var m = curDate.getMonth() + 1;
//第一次装入当前月(格式yyyy-mm)
complDate[0] = y + "-" + (m.toString().length == 1 ? "0" + m : m);
m--;
//第一次已经装入,numMonth少计算一次
for (var i = 1; i < numMonth; i++, m--) {
if (m == 0) {
//到1月后,后推一年
y--;
m = 12; //再从12月往后推
}
complDate[i] = y + "-" + (m.toString().length == 1 ? "0" + m : m);
}
return complDate;
}
//根据当前月,取得未来月份集合(从当前月后推:未来)
function complementFutureDate(numMonth) {
var complDate = [];
var curDate = new Date();
var y = curDate.getFullYear();
var m = curDate.getMonth() + 1;
//第一次装入当前月(格式yyyy-mm)
complDate[0] = y + "-" + (m.toString().length == 1 ? "0" + m : m);
m++;
//第一次已经装入,numMonth少计算一次
for (var i = 1; i < numMonth; i++, m++) {
if (m == 13) {
//到12月后,前推一年
y++;
m = 1; //再从1月往前推
}
complDate[i] = y + "-" + (m.toString().length == 1 ? "0" + m : m);
}
return complDate;
}
</script>