平常我们如何来确定每个月有多少天呢,我们是这样规定的:
\n一、1、3、5、7、8、10、12 每月31天,4、6、9、11为30天。
\n二、2月正常为28天,如果为闰年,则多一天为29天。
\n正如我们所说的顺口溜:一三五七八十蜡,三十一天永不差。
\n要计算每月的天数,首页先确定当年前是否为闰年,首先明确 什么是闰年?规则如下:
\n1、能被4整除,但不能被100整除;
\n2、能被400整除;
\n明确这两个规则后就可以计算出每一年每一个月有多少天了,以js为例用代码实现如下:
\n
function getCurrentMonthDays(inputYear, inputMonth){\n let currentDate = new Date();\n let year = inputYear|| currentDate.getFullYear();\n let month =inputMonth|| currentDate.getMonth() + 1 // 默认从0开始,所以需要加1\n let isRn = false;\n let days = 0;\n if((year%400==0) || (year%4==0 && year %100!=0)){\n // 判断是否为闰年:能被400整除或者能被4整除,但不能被100整除\n isRn = true\n } else {\n isRn = false\n }\n if(month ==1 || month ==3 || month ==5 || month ==7 || month ==8 || month ==10 ||month ==12){\n // 1、3、5、7、8、10、12 每月31天\n days = 31\n } else if (month == 2){\n if(isRn ){\n // 为闰年,则多一天为29天\n days = 29\n } else {\n days = 28\n }\n } else if (month ==4 || month ==6 || month ==9 || month ==11 ){\n // 4、6、9、10、11\n days = 30\n }\n return days\n}\nlet days = getCurrentMonthDays(2020,8)\nconsole.log(days) // 31\n