Visualizzazione dei risultati da 1 a 6 su 6

Discussione: differenza tra date

  1. #1

    differenza

    salve a tutti,
    ho un problema stupido che non esco a risolvere..

    ho una funzione che, data un campo data, mi torna la differenza tra oggi e quella data:

    infatti se io scrivo:
    codice:
    alert (giorni_differenza(theForm.dataimm.value));
    mi viene restituita l'esatta differenza tra dataimm (il mio campo) ed oggi.

    ora io ho bisogno di rendere questa cosa una condizione.

    codice:
    	diff = giorni_differenza(theForm.dataimm.value);
    	if (parseInt(diff)>100) {
    		alert("+100");
    	}
    se faccio così, non funziona.. la console degli errori di firefox mi dice che giorni_differenza is not a function...

    dove sbaglio?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    serve vedere altro, se fosse solo quello che hai postato dovrebbe funzionare

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998

    Re: differenza

    Originariamente inviato da andropoff
    ho una funzione che, data un campo data, mi torna la differenza tra oggi e quella data:
    Serve vedere la funzione... tu le stai passando una stringa...
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  4. #4

    Re: Re: differenza

    Originariamente inviato da br1
    Serve vedere la funzione... tu le stai passando una stringa...
    in realtà non l'ho postata semplicemente perchè funziona..

    nell'alert mi torna il numero di giorni corretto..


    ad ogni modo eccola :

    codice:
    function giorni_differenza(data1){
    
    	anno1 = parseInt(data1.substr(6),10);
    	mese1 = parseInt(data1.substr(3, 2),10);
    	giorno1 = parseInt(data1.substr(0, 2),10);
    
    	var oggi = new Date();
      	var gg, mm, aaaa;
      	gg = oggi.getDate() + "/";
    	mm = (oggi.getMonth() + 1);
    	if (mm < 10)
    	{
    		mm = "0" + (oggi.getMonth() + 1) + "/";
    	}
    	else
    	{
    		mm = oggi.getMonth() + 1 + "/";
    	}
      	aaaa = oggi.getFullYear();
      	data2 = gg + mm + aaaa;
    
    	anno2 = parseInt(data2.substr(6),10);
    	mese2 = parseInt(data2.substr(3, 2),10);
    	giorno2 = parseInt(data2.substr(0, 2),10);
    
        var dataok1=new Date(anno1, mese1-1, giorno1);
    	var dataok2=new Date(anno2, mese2-1, giorno2);
    	
    	differenza = dataok2-dataok1;    
    	giorni_differenza = new String(differenza/86400000);
    	return giorni_differenza;
    }

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    attenzione: la variabile (non locale!) che ritorni si chiama come la funzione!
    la prima volta sembra andare tutto bene, in realta' ha gia' fatto il casino che scopri solo dalla seconda chiamata in poi

  6. #6
    Originariamente inviato da Xinod
    attenzione: la variabile (non locale!) che ritorni si chiama come la funzione!
    la prima volta sembra andare tutto bene, in realta' ha gia' fatto il casino che scopri solo dalla seconda chiamata in poi
    ...
    aahhh....

    cacchio è vero, infatti ho cambiato il nome della variabile che torna e tutto funziona!

    grazie 1000, gentilissimo..

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 © 2024 vBulletin Solutions, Inc. All rights reserved.