根据选择的年月返回对应的天数

最近项目中需要手写年月日联动,对润年还是平年的概念很模糊,特此记录下~

判断润年其实只要满足下面几个条件即可(闰年 2月为29天)

  • 1.普通年能被4整除且不能被100整除的为闰年。如2004年就是闰年,1900年不是闰年
  • 2.世纪年能被400整除的是闰年。如2000年是闰年,1900年不是闰年
    //每月多少天
    getDaysOfEveryMonth(year, month) {//返回天数
        var baseMonthsDay = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];//各月天数
        var thisYear = year;//年
        var thisMonth = month;//月
        var thisMonthDays = [];//天数
        //判断是否为闰年 闰年2月29天
        function isRunYear(fullYear) {
            return (fullYear % 4 === 0 && (fullYear % 100 !== 0 || fullYear % 400 === 0));
        }

        function getThisMonthDays(days) {//传天数,返天数数组
            var arr = [];
            for (var i = 1; i <= days; i++) {
                arr.push(i);
            }
            return arr;
        }

        if (isRunYear(thisYear) && thisMonth == 1) {//闰年2月29天
            thisMonthDays = getThisMonthDays(baseMonthsDay[thisMonth] + 1);
        } else {
            thisMonthDays = getThisMonthDays(baseMonthsDay[thisMonth]);
        }
        return thisMonthDays;
    }

下边这个是年份的输出

        var yearStart = new Date(1969, 1, 1);
        var yearEnd = new Date(1994, 1, 1);
        var year = [];//年数组
        var month = [];//月数组
        var day = [];//日数组
        for (var i = yearStart.getFullYear(); i <= yearEnd.getFullYear(); i++) {
            year.push(i);
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值