Confronta le date in java
Contenuto
Esistono diversi modi per confrontare le date in Java. Internamente, una data è rappresentata come un punto (lungo) nel tempo, il numero di millisecondi trascorsi dal 1 gennaio 1970. In Java, date è l`oggetto Date, il che significa che contiene più metodi (metodi) per confrontare le date. Qualsiasi metodo per confrontare due date confronterà sostanzialmente il tempo trascorso di entrambe le date.
Passi
Metodo 1 di 4: utilizzo del comando `compareTo`

1. Usa compareTo. Data implementa Comparable















2. Crea gli oggetti Data. Dovrai creare ogni oggetto data prima di poterli confrontare. Un modo per farlo è applicare la classe SimpleDateFormat. Consente di inserire facilmente le date negli oggetti Date.
SimpleDateFormat sdf = new SimpleDateFormat(`aaaa-MM-gg`); //Per la dichiarazione di valori in nuovi oggetti data. Utilizzare lo stesso formato della data durante la creazione di date Datedatum1 = sdf.analizzare(`1995-02-23`); //date1 è il 23 febbraio 1995 Date date2 = sdf.analizzare(`2001-10-31`); //date2 è il 31 ottobre 2001 Date date3 = sdf.analizzare(`1995-02-23`); //data3 è il 23 febbraio 1995

3. Confronta gli oggetti data. Quanto segue mostra ogni caso: minore di, uguale a e maggiore di.
data1.confrontaA(data2); //data1 < data2, minore di 0 data2.confrontaA(data1); //data2 > data1, restituisce maggiore di 0 data1.confrontaA(data3); //data1 = data3, restituisce 0
Metodo 2 di 4: Utilizzo dei metodi "uguale, dopo e prima"

1. Usa uguale, dopo e prima. Le date possono essere confrontate usando i metodi uguali, dopo e prima. Se due date indicano la stessa ora, il metodo equals restituirà `true`. Gli esempi utilizzano le date create in precedenza tramite il metodo compareTo.

2. Confronta usando il metodo prima. Il codice seguente mostra un caso di vero e falso. Se data1 è precedente a data2, il risultato è vero. In caso contrario, before restituisce false.
Sistema.fuori.stampa(data1.prima (data2)); //stampa vero Sistema.fuori.print(data2.prima (data2)); //stampa falsa

3. Confronta questo con il metodo dopo. Il codice seguente mostra un caso di vero e falso. Se data2 è successiva a data1, dopo restituisce true. In caso contrario, after restituisce false.
Sistema.fuori.print(data2.after(date1));//print true System.fuori.stampa(data1.dopo(data2));//print false

4. Confronta usando il metodo uguale. Il codice seguente mostra un caso di vero e falso. Se le date sono uguali, uguale restituisce true. In caso contrario, uguale restituisce falso.
Sistema.fuori.stampa(data1.equals(date3));//print true System.fuori.stampa(data1.equals(date2));//print false
Metodo 3 di 4: utilizzo della classe Calendar

1. Usa la classe Calendario. La classe Calendar include anche i metodi compareTo, equals, after e before, che funzionano allo stesso modo descritto sopra per la classe date. Quindi, se i dati relativi alla data sono conservati in un calendario, non è necessario estrarre "data" solo per confrontare due date.

2. Crea istanza di Calendar. Per utilizzare i metodi Calendar, sono necessarie alcune istanze di Calendar. Fortunatamente puoi utilizzare l`ora generata dalle istanze Date.
Calendario chiamata1 = Calendario.getInstance(); //dichiara cal1 Calendario cal2 = Calendario.getInstance(); //dichiara cal2 Calendario cal3 = Calendario.getInstance(); //dichiara cal3 cal1.setTime(data1); //applica la data a cal1 cal2.setTime(data2); cal3.setTime(data3);

3. Confronta cal1 e cal2 usando prima. Il codice seguente restituisce true perché cal1 è prima di cal2.
Sistema.fuori.print(cal1.prima (cal2)); //stampa vero

4. Confronta cal1 e cal2 usando after. Il codice seguente restituisce false, perché cal1 è prima di cal2.
Sistema.fuori.print(cal1.dopo(cal2)); //stampa falsa

5. Confronta cal1 e cal2 usando equals. Il codice seguente mostra un esempio di true e false. La condizione dipende dalle istanze di Calendar confrontate. Il codice seguente fornisce "true" e quindi "false" nella riga successiva.
Sistema.fuori.println(cal1.uguale a(cal3)); //print true: cal1 == cal3 Sistema.fuori.print(cal1.uguale (cal2)); //print false: call1 != cal2
Metodo 4 di 4: utilizzo del metodo `getTime`

1. Usa getTime. È anche possibile confrontare direttamente due punti temporali, sebbene sia probabile che uno qualsiasi degli approcci precedenti produca risultati più leggibili e quindi sia preferito. Questo è un confronto di due tipi di dati primitivi, quindi può essere fatto con `<`, `>` e `==`.

2. Crea gli oggetti a tempo "lungo". Prima di poter confrontare le date, è necessario creare interi lunghi dai dati degli oggetti Date creati in precedenza. Fortunatamente, il metodo getTime() farà la maggior parte del lavoro per te.
tempo lungo1 = getTime(data1); //dichiara la primitiva time1 da date1 long time2 = getTime(date2); //dichiara la primitiva time2 da date2

3. Usa un`equazione "minore di". Usa un simbolo "minore di" (<) per confrontare questi due valori interi. Poiché il tempo1 è inferiore al tempo2, il primo messaggio dovrebbe essere stampato sullo schermo. L`istruzione else è inclusa per la sintassi corretta.
se(tempo1 < tempo2){ Sistema.fuori.println(`date1 è precedente a date2`); //stampa perché time1 < time2 } else{ Sistema.fuori.println(`date1 è successiva o uguale a date2`); }

4. Fai un confronto "maggiore di". Usa il simbolo maggiore di (>) per confrontare questi due numeri interi. Poiché time1 è maggiore di time2, il primo messaggio viene stampato sullo schermo. L`istruzione else è inclusa per la sintassi corretta.
se(tempo2 > tempo1){ Sistema.fuori.println(`la data2 viene dopo la data1`); // stampa perché time2 > time1} else{ Sistema.fuori.println(`date2 è precedente o uguale a date1`); }

5. Fai un confronto "uguale a". Usa il simbolo (==) per confrontare questi due numeri interi. Poiché tempo1 è uguale a tempo3, il primo messaggio dovrebbe essere stampato. Se il programma arriva all`istruzione else, significa che i tempi non sono uguali.
if(tempo1 == tempo2){ Sistema.fuori.println(`Le date corrispondono`); } altro{ Sistema.fuori.println(`Le date non sono le stesse`); //stampa perché time1 != tempo2 }
Articoli sull'argomento "Confronta le date in java"
Condividi sui social network:
Popolare