Visualizzazione dei risultati da 1 a 7 su 7

Discussione: confronto tra due date

  1. #1

    confronto tra due date

    Avrei bisogno di un controllo su due date.

    La data A (dd/mm/yyyy) NON può essere maggiore della data B (dd/mm/yyyy).
    In caso contrario, devo visualizzare un avviso!!!

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    due possibilita`:
    1. confronto alfabetico delle stringhe: yyyy/mm/gg
    2. trasformazione in oggetto Date() e confronto.

    Nel tuo caso la prima soluzione potrebbe risultare piu` semplice:

    var dataA = "..."; /* o ricavate in altro modo
    var dataB = "...";

    var dataAs = dataA.split(/\//);
    var dataAt = dataAs[2]+"/"+dataAs[1]+"/"+dataAs[0];
    var dataBs = dataB.split(/\//);
    var dataBt = dataBs[2]+"/"+dataBs[1]+"/"+dataBs[0];
    if(dataAt > dataBt) { /* controllare il segno */
    ... ecc.
    }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Originariamente inviato da Mich_
    due possibilita`:
    1. confronto alfabetico delle stringhe: yyyy/mm/gg
    2. trasformazione in oggetto Date() e confronto.

    Nel tuo caso la prima soluzione potrebbe risultare piu` semplice:

    var dataA = "..."; /* o ricavate in altro modo
    var dataB = "...";

    var dataAs = dataA.split(/\//);
    var dataAt = dataAs[2]+"/"+dataAs[1]+"/"+dataAs[0];
    var dataBs = dataB.split(/\//);
    var dataBt = dataBs[2]+"/"+dataBs[1]+"/"+dataBs[0];
    if(dataAt > dataBt) { /* controllare il segno */
    ... ecc.
    }
    Ok, grazie.

    Ciao

  4. #4
    Originariamente inviato da Mich_
    due possibilita`:
    1. confronto alfabetico delle stringhe: yyyy/mm/gg
    2. trasformazione in oggetto Date() e confronto.

    Nel tuo caso la prima soluzione potrebbe risultare piu` semplice:

    var dataA = "..."; /* o ricavate in altro modo
    var dataB = "...";

    var dataAs = dataA.split(/\//);
    var dataAt = dataAs[2]+"/"+dataAs[1]+"/"+dataAs[0];
    var dataBs = dataB.split(/\//);
    var dataBt = dataBs[2]+"/"+dataBs[1]+"/"+dataBs[0];
    if(dataAt > dataBt) { /* controllare il segno */
    ... ecc.
    }
    L'ho provato ma non funziona.... riporto qui di seguito il codice:

    var dataA = document.inserisci.dd_data_inser.value+/+document.inserisci.mm_data_inser.value+/+document.inserisci.yy_data_inser.value;
    var dataB = document.inserisci.dd_data_analisi.value+/+document.inserisci.mm_data_analisi.value+/+document.inserisci.yy_data_analisi.value;

    var dataAs = dataA.split(/\//);
    var dataAt = dataAs[2]+"/"+dataAs[1]+"/"+dataAs[0];
    var dataBs = dataB.split(/\//);
    var dataBt = dataBs[2]+"/"+dataBs[1]+"/"+dataBs[0];
    if(dataAt > dataBt) { /* controllare il segno */
    {
    errormsg+='Err.13: Inserire correttamente la Data.\n';
    error_13=true;
    //alert('error_13:'+error_13);
    //alert('la funzione valida_dd_data è terminata');
    }

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Nelle prime righe hai inserito un operatore inesistente: +/+

    Ma se hai i pezzi della data gia` spezzati, non ti serve neppure dividerli: devi solo "montarli" nel modo piu` utile:
    codice:
    var ff = document.inserisci;
    var dataA = ff.yy_data_inser.value + "/" + ff.mm_data_inser.value + "/" + ff.dd_data_inser.value;
    var dataB = ff.yy_data_analisi.value + "/" + ff.mm_data_analisi.value + "/" + ff.dd_data_analisi.value;
    if(dataA > dataB) { /* controllare il segno */
      errormsg += 'Err.13: Inserire correttamente la Data.\n';
      error_13=true;
      //alert('error_13:'+error_13);
      //alert('la funzione valida_dd_data è terminata');
    }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6

    soluzione del mio caso

    Probabilmente la soluzione di Mich era corretta, ma non sono proprio riuscito ad adattarla.... qui di seguito riporto la mia magari potrebbe servire a qcuno.


    var str1=form.dd_data_inser.value */giorno Data A
    var str2=form.mm_data_inser.value */mese Data A
    var str3=form.yy_data_inser.value */anno Data A
    var str4=form.dd_data_analisi.value */giorno Data B
    var str5=form.mm_data_analisi.value */mese Data B
    var str6=form.yy_data_analisi.value */anno Data B

    dataA = str3+str2+str1;
    dataB = str6+str5+str4;

    if(dataB < dataA)
    {
    errormsg+='Err.13: Inserire correttamente la Data.\n';
    error_13=true;
    }


  7. #7

    sorry...ehm!!!!

    Ok Mich ... non ci eravamo capiti.....cmq ti ringrazio ugualmente...mi risolvi sempre un mare di problemi! Thnks!

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.