Parce qu'il y a une interaction, j'ai choisi Js pour l'implémenter. Cela peut être considéré comme le premier essai de programmation en binôme. J'ai écrit la partie d'affichage en HTML. La fonction d'événement déclencheur du bouton cliqué est check();
function onCheck(){ var Year = document.getElementById("year").value; //获取文本框的“年” var theYear =Year * 1; //转换为number类型 //alert(theYear); // 获取月值 var month = document.getElementById("month"); var index1=month.selectedIndex; var theMonth = month.options[index1].value; //获取月值 var day = document.getElementById("day"); var index2=day.selectedIndex; var theDay = day.options[index2].value; // 输入值判断部分 ... //调用核心函数 days(theYear,theMonth,theDay); }
Les jours de fonction principale sont les suivants :
function days(year,month,day) { var days = 0; //表示改日期为当年的第几天 //累加月天数 for(var i = 1; i < month; i++ ){ switch(i){ //大月的情况加31 case 1: case 3: case 5: case 7: case 8: case 10: case 12:{ days += 31; break; } //小月的情况加30 case 4: case 6: case 9: case 11:{ days += 30; break; } //二月的情况,根据年类型来加 case 2:{ if(isLeapYear(year)){ days += 29; //闰年加29 } else { days += 28; } break; } } } day = day * 1; days += day; //月天数之和加上日天数 var date0 = new Date(year,0,1); //当年的第一天是周几 // alert(date0.getDay()); var date1 = new Date(year,month-1,day); //将日期值格式化,0-11代表1月-12月; // alert((days + date0.getDay()+6)/7); var nthOfWeek = Math.floor((days + date0.getDay()+6)/7); //向下取整 // alert(nthOfWeek); var toDay = new Array("星期天","星期一","星期二","星期三","星期四","星期五","星期六"); //day.getDay();根据Date返一个星期中的某其中0为星期日 alert("该日期是一年中的第"+days+"天\n"+" 是第"+nthOfWeek+"周的"+toDay[date1.getDay()]); }
J'ai rencontré de nombreux accidents pendant le processus de débogage Erreurs, telles que les erreurs de calcul causées par une inadéquation de type, telles que des problèmes d'arrondi des nombres
Avec l'aide de ses coéquipiers, il est responsable de l'examen et de l'aide à la détection des bogues, et je suis responsable de la mise en œuvre et du codage < ; 🎜> Dans le dernier lors du test de la valeur d'entrée, nous nous sommes très bien entraidés, avons analysé différentes situations de saisie, couvert divers accidents possibles et terminé rapidement l'amélioration de la fonction
Ce qui suit est le jugement de la valeur d'entrée ; . Codes autorisés :
if (isNaN(theYear)|| theYear < 0) { alert("输入有误,请重新输入"); return ; } if((theMonth == 2 && theDay > 29 && isLeapYear(theYear))||(theMonth == 2 && theDay > 28 && !isLeapYear(theYear))) { alert("输入有误,请重新输入"); return ; } if((theMonth == 4 || theMonth == 6 || theMonth == 9 || theMonth == 11) && theDay == 31 ) { alert("输入有误,请重新输入"); return ; }