Comunque leggendo lo script c'è la soluzione per trovare la differenza in giorni tra due date.
N.B.: dobbiamo convertire una stringa in data col metodo date() passando la data in formato MM-GG-AAAA.
function ControllaData(data_dal, data_al)
{
// PRENDO I DUE CAMPI DATA DAL FORM
//avvio_previsto = document.info.data_arrivo_hotel.value;
//consegna_prevista = document.info.data_partenza_hotel.value;
data_dal_ggmmaaaa = data_dal
data_al_ggmmaaaa = data_al
//SUDDIVIDO I DUE CAMPI IN ANNO MESE E GIORNO
anno_data_dal = data_dal.substr(6, 4);
mese_data_dal = data_dal.substr(3, 2);
giorno_data_dal = data_dal.substr(0, 2);
anno_data_al = data_al.substr(6, 4);
mese_data_al = data_al.substr(3, 2);
giorno_data_al = data_al.substr(0, 2);
//anno_oggi = data_oggi.substr(6, 4);
//mese_oggi = data_oggi.substr(3, 2);
//giorno_oggi = data_oggi.substr(0, 2);
//trasformo le date nel formato aaaammgg (es. 20081103)
data_dal_amg = parseInt(anno_data_dal + mese_data_dal + giorno_data_dal, 10);
data_al_amg = parseInt(anno_data_al + mese_data_al + giorno_data_al, 10);
//data_today = parseInt(anno_oggi + mese_oggi + giorno_oggi, 10);
//var my_date = new Date()
//my_date.getDate()
var data1 = new Date(mese_data_dal + "-" + giorno_data_dal + "-" + anno_data_dal);
var data2 = new Date(mese_data_al + "-" + giorno_data_al + "-" + anno_data_al);
var one_day=1000*60*60*24;
giornidiff = Math.ceil((data2.getTime()-data1.getTime())/(one_day))
/*alert(data1);
alert(data2);
alert(one_day);
alert(giornidiff);*/
//alert (data2);
if (data_dal_amg - data_al_amg > 0)
{
alert("La data INIZIALE non può essere SUCCESSIVA alla DATA FINALE!");
document.info.data_dal.value = data_al_ggmmaaaa;
document.info.data_dal.focus();
err = true
return err;
}
else if (data_dal_amg - data_dal_amg < 0)
{
alert("La DATA FINALE non può essere ANTECEDENTE alla data INIZIALE!");
document.info.data_al.value = data_dal_ggmmaaaa;
document.info.data_al.focus();
err = true
return err;
}
else if (giornidiff > 30)
{
alert("La DATA FINALE non può essere MAGGIORE DI 30 giorni rispetto alla data INIZIALE!");
document.info.data_al.value = data_dal_ggmmaaaa;
document.info.data_al.focus();
err = true
return err;
}
else
{
err = false
return err;
}
}