Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: confronto date

  1. #1

    confronto date

    buongiorno a tutti, sono nuovo del forum e volevo chiedervi una cosa.
    con questo metodo visualizzo la data esatta:

    <script language="JavaScript" >
    <!--
    //questo script serve per visualizzare la data di oggi esatta

    data = new Date();
    giorno = data.getDay();

    if(giorno == 0) giorno = " Domenica ";
    if(giorno == 1) giorno = " Lunedì ";
    if(giorno == 2) giorno = " Martedì ";
    if(giorno == 3) giorno = " Mercoledì ";
    if(giorno == 4) giorno = " Giovedì ";
    if(giorno == 5) giorno = " Venerdì ";
    if(giorno == 6) giorno = " Sabato ";

    date= data.getDate();
    mese = data.getMonth()+1;
    year = data.getYear();

    numeri=(date+"/"+mese+"/"+year);

    document.write("Oggi è "+giorno+ numeri); // scrive il giorno OKKKKK
    </script>

    ed uso questa funzione per confrontare 2 date:

    <script language="JavaScript" >
    function confronta_data(data1, data2)
    //trasformo le date nel formato aaaammgg (es. 20081103)
    { data1str = data1.substr(6)+data1.substr(3, 2)+data1.substr(0, 2);
    data2str = data2.substr(6)+data2.substr(3, 2)+data2.substr(0, 2);
    //controllo se la seconda data è successiva alla prima
    sot=data2str-data1str
    if (sot>5) {
    alert("il tuo abbomamento è valido per " + sot + " giorni");
    }else {
    if((sot<5)&&(sot>0)){
    alert("il tuo abbonamento scadrà il 30/01/2011");
    }else {
    if(sot=0){
    alert("Il tuo abbonamento scade oggi");
    } else (sot<0);{
    alert("Il tuo abbonamento è scaduto");
    }
    }
    }
    }

    confronta_data("30/01/2011", "30/03/2011");


    //-->

    </script>

    Ora quello che vorrei fare è il confronto tra la data odierna ed una data da me scelta.
    Qualcuno puo aiutarmi. Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    utilizza gli operatori di confronto, dovrebbero funzionare

  3. #3
    ti ringrazio per la risposta.....
    Quello che non riesco a far confrontare è la variabile NUMERI(cioè quella che contiene la data di oggi) e una data2 qualunque.
    Spero di essere stato chiaro qual'è il mio problema.

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Daltronde la variabile numeri è composta cosi: 22/02/2011 data1/data2 è cosi: 20110222 difficile che possa esserci relazione/confronto se crei un'altra varibile con la stessa logica di data1/data2 vedrai che funziona, e sarebbe anche meglio parsarle per farle diventare "veramente" numeri parseInt(data1) etc...
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Potreste postare un esempio?

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Eccoti un esempio, devi lavorare con l'oggetto date, non con stringhe o numeri

    codice:
    var data1 = new Date();
    var data2 = new Date(anno,mese,giorno);
    
    if(data1 > data2) alert( "La data odierna è maggiore" );
    else alert( "La data odierna è minore o uguale" );

  7. #7
    se ho capito bene, mi dite di assegnare a data2 la scadenza, ma non riesco a capire come assegnare a data1 la data odierna

    var data1 = new Date();
    var data2 = new Date(2011,03,30);


    sot=data2-data1
    if (sot>5) {
    alert("il tuo abbomamento è valido per " + sot + " giorni ");
    }else {
    if((sot<5)&&(sot>0)){
    alert("il tuo abbonamento scadrà il 30/01/2011");
    }else {
    if(sot=0){
    alert("Il tuo abbonamento scade oggi");
    } else (sot<0);{
    alert("Il tuo abbonamento è scaduto");
    }
    }
    }
    Scusatemi se non riesco a capire, ma sono nuovo del settore

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    sinceramente non riesco a seguirti... tu nel primo post hai parlato di confronto tra due date.... quindi prima fai tutte le operazioni che vuoi poi quando devi fare il confronto trasformi la tua stringa data in un oggetto date e poi fai il confronto.

    codice:
    <script language="JavaScript" >
    // effettuo la chiamata alla funzione con un data qualsiasi es: 30/03/2011
    confrontaConDataOdierna(new Date(2011,03,30));
    
    function confrontaConDataOdierna(miaData) {
    var dataOdierna = new Date();
    if(dataOdierna > miaData) alert( "La data odierna è maggiore" );
    else alert( "La data odierna è minore o uguale" );
    }
    </script>

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Mi sono riletto il primo post e sinceramente il problema mi è ancora meno chiaro di prima.
    - Hai già una funzione che ti confronta 2 date
    - Hai già la data odierna (numeri=date+"/"+mese+"/"+year)

    Ora se vuoi fare un confronto chiami il tuo metodo mettendo come parametri di input la data odierna(numeri) e una data da te creata.

    Esempio chiamata funzione:

    codice:
    data = new Date();
    date= data.getDate();
    mese = data.getMonth()+1;
    year = data.getYear();
    
    //data odierna in formato stringa
    numeri=date+"/"+mese+"/"+year;
    // data qualsiasi in formato stringa
    miadata="30/03/2011";
    //chiamo il metodo che mi fa il confronto
    confronta_data(numeri,miadata)

  10. #10
    Non voglio che mi dica se le due date sono uguali, maggiori o minori, ma mi deve dire quanti giorni ci sono di differenza.
    Esempio: oggi è il 22 febbraio 2011 e voglio sapere al 30 marzo 2011 quanti giorni mancano?
    la funzione che ho scritto per prima lo fà questo, ma prendendo in input 2 date scritte da me, io voglio che il calcolo lo faccia tra: la data esatta di oggi ed una data da me data.

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.