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'écrirai la partie affichage en html, et la fonction événementielle déclenchée par le bouton cliqué est check();
function onCheck(){
var Year = document .getElementById("year").value; //Obtenir "l'année" de la zone de texte var theYear =Year * 1; //Convertir en type numérique //alert(theYear);
var Month = document.getElementById("month");
var index1=month.selectedIndex; var theMonth = Month.options[index1].value; //Obtenir la valeur mensuelle
var day = document .getElementById("day") ;
var index2=day.selectedIndex;
var theDay = day.options[index2].value;
//Partie du jugement de valeur d'entrée
...
//Fonction principale d'appel
days(theYear,theMonth,theDay) ;
Les jours de fonctions principales sont les suivants :
Copier le code
for(var i = 1; i
switch(i) {
//Ajouter 31 à la grande lune
cas 1 :
cas 3 :
cas 5 :
cas 7 :
cas 8 :
cas 10 :
cas 12 :{
jours = 31 ;
pause ;
}
//Dans le cas de Xiaoyue, ajoutez 30
cas 4 :
cas 6 :
cas 9 :
cas 11 :{
jours = 30;
pause;
}
//Pour février, ajouter
selon le type d'année cas 2 :{
if( isLeapYear(year)){
jours = 29; //Ajoutez 29 pour les années bissextiles
}
jours = 28;
}
break;
}
}
>
day = day * 1;
days = day; //La somme du nombre de jours en mois plus le nombre de jours en jours
var date0 = new Date(year,0,1); //Quel jour de la semaine est le premier jour de l'année ?
// alert(date0.getDay());
var date1 = new Date(year ,month-1,day); //Formater la valeur de la date, 0-11 représente janvier-décembre ;
// alert((days date0.getDay() 6)/7);
var nthOfWeek = Math.floor((days date0.getDay() 6)/7); // Arrondir// alert(nthOfWeek); var toDay = new Array("Sunday","week "1", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi");
//day.getDay(); Renvoie un jour de la semaine basé sur Date, où 0 est dimanche
alert("Cette date correspond aux " jours " de l'année
" " C'est la semaine " nthOfWeek " toDay[date1.getDay()]);
}
De nombreuses erreurs inattendues ont été rencontrées pendant le processus de débogage, telles que des 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 était chargé d'examiner et d'aider à détecter les bogues, et moi-même ; était responsable de la mise en œuvre et du codage ;
Dans la dernière étape, lors du test des valeurs 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 < 🎜 ; >Voici le code permettant de déterminer si la valeur d'entrée est autorisée :
if((theMonth == 2 && theDay > 29 && isLeapYear(theYear))||(theMonth == 2 && theDay > 28 && !isLeapYear(theYear))) {
alert("Entrez Oui Faux, veuillez saisir à nouveau");
return ;
}
if((theMonth == 4 || theMonth == 6 || theMonth == 9 || theMonth == 11) && theDay == 31 ) { alert("Saisie incorrecte, veuillez saisir à nouveau" );
retour ;
}