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!