02-输出某年某月某日的天数

 1 <!DOCTYPE html>
 2 <html>
 3 <head lang="en">
 4     <meta charset="UTF-8">
 5     <title></title>
 6 </head>
 7 <body>
 8 <script>
 9 
10     //需求:输入某年某月某日,判断这一天是这一年的第几天?(闰年)
11         //(四年一闰,百年不闰,四百年在闰)
12     //步骤:
13     //1.判断是否是闰年。
14     //2.求天数。(年判断是否是闰年,月是否超过2月,天最好做)
15         //1.把每月的天数组成一个数组,不包含闰年。
16         //2.如果是闰年,而且超过了二月,直接在天数上+1;
17 
18 
19     //2.求天数。(年判断是否是闰年,月是否超过2月,天最好做)
20         //1.把每月的天数组成一个数组,不包含闰年。
21         //2.如果是闰年,而且超过了二月,直接在天数上+1;
22 
23     console.log(getDays(2015,3,1));
24 //    console.log(getDays(2015,5,67));
25 
26     //参数问题:年月日是变化的。处理方法有两种,第一种就是变成成员变量,不方便。
27                                          //第二种是把年月日变成参数。
28     function getDays(year,month,day){
29         //1.把每月的天数组成一个数组,不包含闰年。
30         var arr = [31,28,31,30,31,30,31,31,30,31,30,31];
31         //2.如果是闰年,而且超过了二月,直接在天数上+1;
32         //把输入的月份之前的天数放入到day中。(不包含本月)
33         //输入的月份我们把他当做索引值用。(所以我们要把月份-1,而且不能相等)
34         for(var i=0;i<month-1;i++){
35             //把月份之前的所有天数放入到day中
36 //            day = day + arr[i];
37             day += arr[i];
38         }
39         //判断是否是闰年且月份是否超过2月。不能等于二月。如果超过day+1;
40         if(month>2 && isRN(year)){
41            //day++;
42             day+=1;
43         }
44         //算好的天数,返回,外部使用
45         return day;
46     }
47 
48 
49     //1.判断是否是闰年。
50     function isRN(year){
51         //要有返回值,将来判断是否是闰年,是否超过2月,如果是添加1天。
52         //(四年一闰,百年不闰,四百年在闰) 4  8 64  24  36行  100/200/300不行    400、800、1200行
53 //        if(year%4===0 && year%100!==0 || year%400===0){
54 //            return true;
55 //        }else{
56 //            return false;
57 //        }
58         if(year%4===0 && year%100!==0 || year%400===0){
59             return true;
60         }
61         return false;
62     }
63 
64 
65 
66 </script>
67 </body>
68 </html>
原文地址:https://www.cnblogs.com/BingBing-Deng/p/10266933.html