代码改变世界

JS-按年、或月 计算两个日期之间的周期

2017-07-04 15:22  jaafar  阅读(1384)  评论(0)    收藏  举报

/**

@param sdate, edate, ecind-年度/月度 类型

*/

function calEcnos(sdate, edate, ecind){

var sy = parseInt(sdate.substring(0, 4)),
    ey = parseInt(edate.substring(0, 4)),
    ys = ey - sy;
var rtnArr = [];
if(ecind == '0'){
    var sm = parseInt(sdate.substring(4, 6)),
        em = parseInt(edate.substring(4, 6)),
        ms = (ys == 0 ? em - sm : ys * 12 - sm + em) + 1,
        mons = ['01','02','03','04','05','06','07','08','09','10','11','12'];
    for(var i = 0; i < ms; i ++){
        var ec = sy + mons[sm - 1];
        rtnArr.push(ec);
        if(sm == 12){
            sm = 1;
            sy ++;
        }else{
            sm ++;
        }
    }
}else if(ecind == '1'){
    for(var i = 0; i <= ys; i ++){
        rtnArr.push(sy.toString());
        sy ++;
    }
}
return rtnArr;

}