Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    javascript oggetto date

    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!

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    il parseInt di una stringa che comincia per 0 cerca di restituisce di default un numero in base ottale

    parseInt(inceptionArray[0],10)

  3. #3
    Grazie, non la sapevo... ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.