根据月份计算共有多少天 主要先要考虑闰年的情况。

算法如下

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
//是否是闰年
    isLeapYear(year:number):any{
        if (((year % 4)==0) && ((year % 100)!=0) || ((year % 400)==0)) {
            return (true);
        } else { 
            return (false);
        }
    }

然后是当本月有多少天的算法

//根据年月得到天数
    getDayNumByYearMonth (year:number,month:number):any{
        let day=0;
        switch (month) {
            case 1:
                day=31;
                break;
            case 3:
                day=31;
                break;
            case 5:
                day=31;
                break;
            case 7:
                day=31;
                break;
            case 8:
                day=31;
                break;
            case 10:
                day=31;
                break;
            case 12:
                day=31;
                break;
            case 4:
                day=30;
                break;
            case 6:
                day=30;
                break;
            case 9:
                day=30;
                break;
            case 11:
                day=30;
                break;
            case 2:
                day=this.isLeapYear(year) ? 29 : 28;
                break;
        }
        return day;
    }

注意:本代码是angular环境 环境如有差异,请自行修改代码。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄