Javascript获取最近若干个月

时间:2023-03-08 15:42:48

整理:

如果需要获取最近若干个月,牵扯到跨年的话,该怎么实现的问题,抽了点时间,代码如下:

    /**纪元时间获取最近12个月
*
* @num 传入获取月的数目
**/
(function getMonth(num) {
var _curDate = new Date(),
_curTime = _curDate.getTime(), //当前纪元时间
_oneDayTime = 24 * 3600 * 1000, //一天的总毫秒数
_thisMonSumDay = new Date(_curDate.getFullYear(), _curDate.getMonth() + 1, 0).getDate(); //当前月份总天数
var _resultArr = [];
for (var i = 1, j = _curTime; i <= num; i++, j -= _thisMonSumDay * _oneDayTime) {
//月迭代
if (_resultArr.length >= num) {
break;
}
//当月里的时间点,作为当月依据
var _thisMonth = new Date(j);
//重新赋值当前月天数
_thisMonSumDay = new Date(_thisMonth.getFullYear(), _thisMonth.getMonth() + 1, 0).getDate();
_resultArr.push(DateFormat("yyyy-MM", new Date(j)));
}
return _resultArr;
})(38);

欢迎各种拍砖