Ciao a tutti, mi si è presentato un problema.
Ho una funzione javascript per il calcolo del numero di giorni per alcuni controlli. Il problema è quando vado a selezionare come data di partenza il 31/12/2010 e come data di fine il 08/01/2011 mi stampa l'alert che la data di fine deve essere successiva alla data di partenza...questo perchè la differenza è 0. Da vari alert di controllo ho notato che quando istanzio la data di fine nn si istanzia come dovrebbe al 08/01/2011 ma si istanzia ancora al 31/12/2010. Ecco il codice:
codice:
function calcolaDays(){
var inceptionArray = $('#inception').val().split("/");
var inception = new Date();
inception.setFullYear(parseInt(inceptionArray[2]));
inception.setMonth(parseInt(inceptionArray[1]) -1);
inception.setDate(parseInt(inceptionArray[0]));
alert(inception);
var expirationArray = $('#expiration').val().split("/");
var expiration = new Date();
expiration.setFullYear(parseInt(expirationArray[2]));
expiration.setMonth(parseInt(expirationArray[1]) -1);
expiration.setDate(parseInt(expirationArray[0]));
alert(expiration);
var days = (expiration - inception)/86400000;
alert(days);
if(days <= 0){
alert("Attenzione: la data di scadenza deve essere successiva a quella di decorrenza");
document.polizza1.preventivo.disabled = true;
}
else if(days > 90){
alert("Attenzione: il periodo assicurabile è di 90 giorni massimo");
document.polizza1.preventivo.disabled = true;
}
else{
alert(days);
document.polizza1.preventivo.disabled = false;
}
}
Onestamente non capisco il perchè visto che i valori vengono presi correttamente...grazie a tutti!