Ciao,
devo realizzare un programma che, inserita una data futura, calcoli la distanza in formato gg/mm/aaaa tra la data odierna e quella futura.
Il primo problema che ho riscontrato è che non mi appare niente sullo schermo, neanche degli alert. Il secondo è che non sono sicuro della correttezza di alcune operazioni comeVi posto il codice intero.codice:dgiorno=day+(ngiorni[mese-1]-giorno);
Ciao e grazie mille in anticipo.codice:<html> <head> </head> <body> <script language="javascript"> var danno, dmese, dgiorno, day, month, year, anno, mese, giorno; anno= data.getYear(); mese = data.getMonth(); giorno = data.getDay(); day=prompt("Inserisci il giorno"); month=prompt("Inserisci il mese"); year=prompt("Inserisci l'anno"); ngiorni= new Array(); ngiorni[0]=31; //Gennaio ngiorni[1]=28; //Febbraio non bisestile ngiorni[2]=31; //Marzo ngiorni[3]=30; //Aprile ngiorni[4]=31; //Maggio ngiorni[5]=30; //Giugno ngiorni[6]=31; //Luglio ngiorni[7]=31; //Agosto ngiorni[8]=30; //Settembre ngiorni[9]=31; //Ottobre ngiorni[10]=30; //Novembre ngiorni[11]=31; //Dicembre if((anno % 400 == 0) || (anno % 100 != 0 && anno % 4 == 0)) ngiorni[1]=29; //Febbraio bisestile if (((month1 > 12) || (month1 < 1)) || ((month2 > 12) || (month2 < 1))) //Controllo sui mesi month=prompt("Il mese inserito e' inesistente. Reinseriscilo. "); if (((day > 31) || (day < 1)) && ((month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 8) || (month == 10) || (month == 12))) //Controllo mesi con 31 giorni day=prompt("Il giorno inserito e' inesistente. Reinseriscilo. "); if (((day > 30) || (day < 1)) && ((month == 4) || (month == 6) || (month == 9) || (month == 11))) //Controllo mesi con 30 giorni day=prompt("Il giorno inserito e' inesistente. Reinseriscilo. "); if (((day > 29) || (day < 1)) && (month == 2)) //Controllo Febbraio non bisestile day=prompt("Il giorno inserito e' inesistente. Reinseriscilo. "); if (((day > 28) || (day < 1)) && ((month == 2) && ((((year % 4) != 0) || (((year % 100) == 0) && ((year % 400) != 0)))))) //Controllo Febbraio bisestile day=prompt("Il giorno inserito e' inesistente. Reinseriscilo. "); //danno if((month==mese)&&(day>=giorno)|| (month>mese)) danno=year-anno; else danno=(year-anno)-1; //dmese if((month>=mese)&&(day>=giorno)) dmese=month-mese; else { if((month>mese)&&(day<giorno)) dmese=(month-mese)-1; else { if((month<mese)&&(day>=anno)) dmese=(month+12)-mese; else dmese=(((month+12)-mese)-1); } } //dgiorno if(day>=giorno) dgiorno=day-giorno; else dgiorno=day+(ngiorni[mese-1]-giorno); document.write("La distanza tra le due date e':" +dgiorno+ "giorni " +dmese "mesi" +danno+ "anni"); </script> </body> </html>

Rispondi quotando