一.分析
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>