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 come
codice:
dgiorno=day+(ngiorni[mese-1]-giorno);
Vi posto il codice intero.
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>
Ciao e grazie mille in anticipo.