Forum di Space4Tutorial » Forum di Space 4 Tutorial

Confronto date

(2 posts)
  • Started 2 years ago by maxxspace4
  • Latest reply from HoneyFT

  1. maxxspace4
    Member

    Ciao,
    Come si effettua il controllo tra due date per fare in modo che tra la prima e la seconda non siano passati + di 5 minuti?
    Ciò mi serve a fare un controllo alla modifica di dati che possono essere modificati entro 5 minuti dalla data dell'inserimento.
    Come potrei fare? Ho pensato di fare il controllo sulla differenza in millisecondi delle due date, ma quanto vale 1 minuto in millisecondi?
    C'è un'alternativa a questa tecnica?

    Grazie!!!!!

    Posted 2 years ago #
  2. Dunque, per calcolare un minuto in millisecondi potresti, se ti servisse, fare in questo modo: 1000 msec * 60 sec = 60000 msec.
    Il problema è che non so se ti serve granché ;-) perché le date, nella maggior parte dei linguaggi di programmazione che prevedono, tra i loro tipi, un tipo particolare per la gestione delle date, Esse stesse sono trattate alla stregua di numeri Interi.
    Poi, ogni linguaggio ha delle funzioni particolari che svolgono le operazioni di conversione da intero a formato time/data visualizzabile (UTC o altro formato), nonché le differenze, le somme tra date, ecc.

    Ora, in che linguaggio ti serve fare questa cosa?

    In Java, per esempio, potresti scrivere qualcosa del genere, utilizzando le classi GregorianCalendar e java.sql.Date (se devi utilizzare l'accesso ai DBMS, ti consiglio di preferire questa, piuttosto che java.util.Date):


    private boolean trascorsi5minuti(dataprecedente,datasuccessiva){
    GregorianCalendar gc = new GregorianCalendar();
    gc.setTimeInMillis(dataprecedente.getTime());
    gc.add(gc.MINUTE, 5); // aggiungi 5 minuti alla data precedentemente memorizzata
    if (datasuccessiva.compareTo(gc.getTime()) > 0){
    // sono passati 5 minuti
    }
    else {
    // i 5 minuti non sono trascorsi
    }
    }

    Dovrebbe andare... ;-)
    Il vantaggio di un codice organizzato più o meno in questo modo, consiste nel fatto che se domani devi contare i secondi, le ore, i giorni, ecc., non devi far molti cambiamenti, ti basta modificare la costante MINUTE in DAY_OF_MONTH, YEAR, ecc...

    Spero di esserti stato utile...

    Posted 2 years ago #

RSS feed for this topic

Reply

You must log in to post.