【事例】 ある日をその日と判断する

1. 分析

1. まず、その年が閏年なのか平年なのかを知る必要があります。

2. 次に、ユーザーが入力した月が 1 月であるかどうかを判断し、1 月である場合は日数を直接返します。そうでない場合は、最初に前の月の合計日数を計算します (ここでは 2 月を 28 日に設定します)。次に、その月の何日かの日を追加します

3. ユーザーが入力した月が 2 より大きく、年が閏年の場合は、さらに 1 日追加する必要があります。

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