Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    residenza
    Winterthur
    Messaggi
    47

    [JS] Funzione con oggetto Date

    Buongiorno a tutti,

    devo creare una piccola funzione che abbia un solo parametro in input, ovvero il giorno della settimana. Ad esempio:

    codice:
    function (5) {
    
    }
    Il parametro 5 sta ad indicare il giorno della settimana e quindi, in questo caso, il Venerdì.

    Lo scopo di questa funzione è di riportarmi la prossima data, dal momento in cui viene aperta la pagina che contiene questa funzione, che è pari a Venerdì.

    Ad esempio:

    - Apro la pagina, che contiene questa funzione, alle 19:06 del giorno Martedì 12 Gennaio 2010. La funzione deve riportarmi "Venerdì 15 Gennaio 2010".

    - Apro la pagina, che contiene questa funzione, alle 22:19 del giorno Venerdì 15 Gennaio 2010. La funzione deve riportarmi "Venerdì 15 Gennaio 2010".

    - Apro la pagina, che contiene questa funzione, alle 05:59 del giorno Sabato 16 Gennaio 2010. La funzione deve riportarmi "Venerdì 15 Gennaio 2010".

    - Apro la pagina, che contiene questa funzione, alle 06:00 del giorno Sabato 16 Gennaio 2010. La funzione deve riportarmi "Venerdì 22 Gennaio 2010".

    NOTA: Notare bene che il giorno non deve finire alle 23:59 ma alle 5:59 del giorno dopo.

    Spero che qualcuno possa darmi una mano. Io sto cercando di farla a modo mio ma non conoscendo bene l'oggetto Date di Javascript è davvero una cosa interminabile.

    Grazie e BUON 2010..

  2. #2
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    Ciao,
    ti posto il codice

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <
    html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml">

    <
    head>
    <
    script language="JavaScript"
    function 
    formatData(getData)
    {
        
    = new Array("Domenica","Lunedi","Martedi'","Mercoledi'","Giovedi'","Venerdi","Sabato");
        
    = new Array("Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre");
         
        
    today getData;
        
    day today.getDate();
        
    year today.getYear();
        if (
    year 2000year year 1900;

        var 
    esito d[today.getDay()]+" "+day+" "+m[today.getMonth()]+" "+year;
        return 
    esito;
    }

    function 
    calcDate(numGiorno)
    {
        var 
    sommaGiorni 0;
        var 
    appDif 0;
        var 
    miaData = new Date(); // recupero la data di oggi
        
    var dataEsito = new Date();
        var 
    mioGiorno miaData.getDay(); // recupero il giorno di oggi (da 1 a 7)
        
        
    miaData.getHours(); // recupero ora da 1 a 23
        
    miaData.getMinutes(); // recupero minuti da 1 a 59
        
    miaData.getSeconds(); // recupero secondi da 1 a 59    
            
        // condizioni per le quali bisogna ricercare la prossima data
        
    if(mioGiorno != numGiorno)
        {
            
    appDif parseInt(mioGiorno) - parseInt(numGiorno);
            
    //alert('Differenza tra i giorni: ' + appDif);
            
            
    if (appDif 0// oggi è il 5 e cerco il 7
            
    {
                
    //alert('Il giorno che cerchi è dentro la settimana corrente');
                
    sommaGiorni appDif * -1;
            }
            else 
    // oggi è il 5 e cerco il 2
            
    {
                
    //alert('Il giorno che cerchi è nella prossima settimana');
                
    sommaGiorni appDif;
            }
        
            
    //alert('Giorni da sommare ' + sommaGiorni);
            
            // somma numero di giorni a data di oggi
            
    miaData.setDate(miaData.getDate() + sommaGiorni);
        }
        
        
    dataEsito formatData(miaData);
        return 
    dataEsito;

    }

    </script>
    </head>

    <body>

    <input type='text' id='txtOggi' style='width:400px' />
    <input type='button' onclick="document.getElementById('txtOggi').value=calcDate(1);" value='Ricerca' />

    </body>
    </html> 
    Nell'esempio viene ricercato il giorno LUNEDI.

    Quello che manca da fare, è mettere a posto le condizioni per le quali bisogna ricercare la prossima data secondo le tue esigenze, ma penso che con il codice che ti ho postato, il più è fatto.

    Ciao


    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

  3. #3
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    alla fine ti è servito lo script ?


    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

  4. #4
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    ...


    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da echoweb
    ...
    :master: se avra' piacere ti inviera' un messaggio privato, qui chiudo
    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

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.