【案例】判断某天是一年中的第几天

一.分析

1.首先得知道该年是闰年还是平年

2.其次判断用户输入的月份是不是1月,如果是直接返回天数即可;如果不是就先计算之前几个月一共有多少天(这里设置二月为28天),然后再加上该天在月中是多少天

3.如果用户输入的月份大于2,并且该年为闰年,应该再加一天

二.源码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>输入年月日判断该天是一年中的第几天</title>
	</head>
	<body>
		<script type="text/javascript">			
			//需要判断这个年份是不是闰年
			function isLeapYear(year){
				return year%4==0&&year%100!=0||year%400==0;
			};
			
			function getDays(year, month,day) {
				//定义变量存储对应的天数
				var days = day;
				//如果用户输入的是一月份,没必要向后算天数,直接返回天数
				if (month == 1) {
					 return days;
				};
				//代码执行到这里说明用户输入的不是1月份
				//定义一个数组,存储每个月份的天数
				var months = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
				//小于的是输入的月份-1
				for (var i = 0; i < month - 1; i++) {
					days += months[i];
				};
				//需要判断这个年份是不是闰年 如果是闰年并且输入月份大于2就加一天
				if(isLeapYear(year) && month>2){
					days++;
				};
				return days;
			};

			console.log(getDays(2020,3,5));//结果为65

		</script>
	</body>
</html>

猜你喜欢

转载自blog.csdn.net/weixin_55992854/article/details/118424235