Debe ser necesario tener interacción, y JS se elige para implementarla, lo que puede considerarse como una primera prueba de programación de pares. Escribí la parte de visualización en HTML, y la función del evento de activación de activación de botón es check ();
La copia del código es la siguiente:
función onCheck () {
var año = document.getElementById (año) .Value;
var mes = document.getElementById (mes);
Var index1 = mes.selectedIndex;
var day = document.getElementById (día);
var index2 = day.selectedIndex;
var theDay = day.options [index2] .Value;
// Parte del juicio del valor de entrada
...
// Llamar a las funciones centrales
Días (ellos, temas, theday);
}
Los días de función central son los siguientes:
La copia del código es la siguiente:
Días de función (año, mes, día) {
VAR Days = 0;
// Número acumulado de meses
para (var i = 1; i <mes; i ++) {
Switch (i) {
// La situación del gran mes es 31 más
Caso 1:
Caso 3:
Caso 5:
Caso 7:
Caso 8:
Caso 10:
Caso 12: {
días += 31;
romper;
}
// La situación de Xiaoyue agrega 30
Caso 4:
Caso 6:
Caso 9:
Caso 11: {
días += 30;
romper;
}
// La situación en febrero se agregará de acuerdo con el tipo de año
Caso 2: {
if (isleapyear (año)) {
días += 29;
}
demás {
días += 28;
}
romper;
}
}
}
día = día * 1;
días += día;
var date0 = nueva fecha (año, 0,1);
// alerta (date0.getday ());
var fecha1 = nueva fecha (año, mes-1, día);
// alerta ((días + date0.getday () + 6)/7);
var nthofweek = math.floor ((días + date0.getday () + 6)/7);
// alerta (nthofweek);
var Today = New Array ("Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado");
//day.getday ();
alerta ("Esta fecha es el"+días+"día/n"+"del año es el"+nthofweek+"semanal"+hoy [date1.getday ()]);
}
Durante el proceso de depuración, se encontraron muchos errores inesperados, como los errores de cálculo causados por el desajuste de tipo, como el redondeo de números;
Con la ayuda de sus compañeros de equipo, él es responsable de revisar y ayudar en la captura de errores, y soy responsable de implementar y codificar;
En la última parte, en la prueba de los valores de entrada, nos ayudamos bien, analizamos diferentes situaciones de entrada, cubrimos varios accidentes posibles y completamos rápidamente la mejora de las funciones;
El siguiente es el código para determinar si el valor de entrada está permitido:
La copia del código es la siguiente:
if (isnan (theear) || theear <0) {
alerta ("La entrada es incorrecta, vuelva a ingresar");
devolver ;
}
if ((themonth == 2 && theday> 29 && isleapyear (theear)) || (themonth == 2 && theday> 28 &&! isleapyear (theear))) {
alerta ("La entrada es incorrecta, vuelva a ingresar");
devolver ;
}
if ((themonth == 4 || themonth == 6 || themonth == 9 || themonth == 11) && theday == 31) {
alerta ("La entrada es incorrecta, vuelva a ingresar");
devolver ;
}