Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    30

    problema confronto date

    dovrei confrontare 3 date:
    - la attuale
    - una di inizio
    - una di fine

    non riesco a fare i confronti con l'attuale..
    qualcuno sa dirmi dove mi sono persa?
    vi posto il codice

    codice:
    function controllo_data(stringa){
        	var espressione = /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/;
        	  if (!espressione.test(stringa))
        	  {
            	return false;
        	  }
    	  else{
                 anno = parseInt(stringa.substr(6),10);
                 mese = parseInt(stringa.substr(3, 2),10);
                 giorno = parseInt(stringa.substr(0, 2),10);
            
    	     var data=new Date(anno, mese-1, giorno);
                   if(data.getFullYear()==anno && data.getMonth()+1==mese && data.getDate()==giorno){
                		return true;
            		}
    	       else{
                     return false;
                   }
        	   }
    }
    	
    function confronta_data(data1, data2){
    	dataCorr = new Date();
    	giorno = dataCorr.getDate();
    	mese = dataCorr.getMonth();
    	anno = dataCorr.getYear();
    	data = anno+mese+giorno;
    	
    	// controllo validità formato data
        	if(controllo_data(data1) &&controllo_data(data2)){
    		
    	  //trasformo le date nel formato aaaammgg (es. 20081103)
              data1str = data1.substr(6)+data1.substr(3, 2)+data1.substr(0, 2); //inizio
    	  data2str = data2.substr(6)+data2.substr(3, 2)+data2.substr(0, 2); //fine
    			
              //controllo se la seconda data è successiva alla prima
              if (data2str-data1str<0) {
                	alert("La data iniziale deve essere precedente a quella finale");
           	  }
    	  if (data2str-data<0) {
                	alert("La data corrente deve essere precedente a quella finale");
              }
    	  if (data1str-data<0) {
                	alert("La data corrente deve essere precedente a quella iniziale");
              }
            }
    	else{
               alert("Il formato data deve essere gg/mm/aaaa");
    	   document.modulo.ggInizio.focus();
    	   return false;
        	}
    }
    
    confronta_data(dataInizio, dataFine);

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non sono un esperto di date ma sicuramente ti complichi la vita e credo che l'errore risieda lì, chiedi l'iserimento formato italiano gg/mm/aaaa poi la trasformi in inglese aaaa/mm/gg. Pertanto non vorrei che se inserisco 12112008 diventa 20081112 s'incasinasse il tutto prova ad usare un solo formato se l'errore persiste non è quello
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    30
    come faccio a fare allora un confronto?

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.