如何来确定每个月有多少天

ppylox
·7/26/2020·0 阅读
AI 摘要模型根据正文自动生成,仅供参考

每月天数规则:1、3、5、7、8、10、12月为31天,4、6、9、11月为30天,2月平年28天、闰年29天。闰年判定为能被400整除,或能被4整除但不能被100整除。据此可用JavaScript实现:先判断闰年,再按月份分支返回天数,函数支持传入年月,缺省取当前年月,示例getCurrentMonthDays(2020,8)返回31。

平常我们如何来确定每个月有多少天呢,我们是这样规定的:

\n

一、1、3、5、7、8、10、12 每月31天,4、6、9、11为30天。

\n

二、2月正常为28天,如果为闰年,则多一天为29天。

\n

正如我们所说的顺口溜:一三五七八十蜡,三十一天永不差。

\n

要计算每月的天数,首页先确定当年前是否为闰年,首先明确  什么是闰年?规则如下:

\n

1、能被4整除,但不能被100整除;

\n

2、能被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

相关文章

评论 (0)

暂无评论,来写第一条吧