// 输入某年某月某日,判断这一天是这一年的第几天// 闰年2月29天 平年2月28天// 第一种方式:functionisLeapYear(year){// 假设不是闰年var isLeapYear =false;if(year %4===0&& year %100!==0|| year %400===0){
isLeapYear =true;}return isLeapYear;}// 判断月份,累加当月之前的天数functionwhichMonth(isLeapYear, month){if(isLeapYear){var monthDays =[31,29,31,30,31,30,31,31,30,31,30,31];}else{var monthDays =[31,28,31,30,31,30,31,31,30,31,30,31];}var sum =0;for(var i =1; i < month; i++){
sum += monthDays[i-1];}return sum;}// 某日在当月中是第几天functiontheDay(sum, day){var day = sum + day;return day;}// 判断这一天是这一年的第几天var year =2000;var month =3;var sum =whichMonth(isLeapYear, month);var day =17;var dayNums =theDay(sum, day);
console.log(dayNums);// 77// 第二种方式:functionisLeapYear(year){// 假设不是闰年var isLeapYear =false;if(year %4===0&& year %100!==0|| year %400===0){
isLeapYear =true;}return isLeapYear;}functiongetDays(year, month, day){// 累加var days = day;// 计算当月前的天数for(var i =1; i < month; i++){switch(i){// 此处是i 不是dayscase1:case3:case5:case7:case8:case10:case12:
days +=31;break;case4:case6:case9:case11:
days +=30;break;case2:if(isLeapYear(year)){
days +=29;}else{
days +=28;}break;}}return days;}
console.log(getDays(2000,2,2));// 33
console.log(getDays(2000,3,17));// 77