Come confrontare due date in Java
Introduzione
Specialmente se si ha a che fare con dei database, in fase di programmazione è necessario dover gestire date e orari. Anche java, come quasi tutti i linguaggi di programmazione, permette la gestione di date e ore. Java, data la sua diffusione e l'ampio utilizzo da parte degli utenti, mette a disposizione delle classi che permettono di gestire date e orari in maniera davvero intuitiva. Inizialmente la classe che permetteva la gestione di Date e Ore era la classe java.util. Date, ma adesso è stata sostituita in quanto una migliore soluzione si ottiene partendo dalla classe java. Util.GregorianCalendar. Seguiteci passo passo per vedere come confrontare due date in java.
Occorrente
- java
L'oggetto Data
Partiamo creando l'oggetto DATA della classe Gregorian Calendar che può contenere sia le informazioni sulla data attuale, sia le informazioni su un orario scelto dall'utente. Vediamo il primo caso, la data odierna: prima di tutto bisogno creare l'oggetto GregorianCalendar data = new GregorianCalendar(). A questo punto se inseriamo come argomenti le parole chiavi Year, Month e Date otteniamo l'anno solare, il mese e il giorno corrente: giorno = data. Get (GregorianCalendar. DATE).
Calendario Gregoriano
Se invece preferiamo sostituire una data in un oggetto GregorianCalendar, basta soltanto richiamare il costruttore passando come argomenti Anno, Mese e Giorno. Esempio: GregorianCalendar data1 = new GregorianCalendar (Anno, Mese, Giorno).
Il confronto
Per confrontare due date in java, possiamo vedere qual è la funzione messa a disposizione dalla classe Gregorian in maniera molto semplice. Proviamo a comprenderlo meglio con un esempio:
GregorianCalendar Data_Uno = new GregorianCalendar (2013, 01, 15); GregorianCalendar Data_Due = new GregorianCalendar (2012, 01, 15). Abbiamo dato vita a due oggetti con due date scelte a caso per verificarne la loro uguaglianza. Usiamo la funzione before () che ci informa che la data che la richiama sia minore rispetto alla data passata come argomento. La funzione after () se invece maggiore. If (Data_Uno. Before (Data_Due)){System. Out.println('La prima data è precedente alla seconda');} elseif (Data_Uno. After (Data_Due)){System. Out. Println ('La seconda data è precedente alla prima');} else System. Out. Println ('Le due date sono uguali'); Fatto ciò abbiamo le informazioni per stabilire quale data venga prima, quale dopo e se le due date coincidono. Abbiamo confrontato le due data in java in maniera davvero semplice, lo stesso procedimento è applicabile agli orari.
Consigli
- Su java, così come in altri casi, trattate le date secondo le vostro esigenze.