Usare il Metodo "getTime"
In Java è possibile confrontare direttamente due date dopo aver trasformato il relativo valore in un tipo di dato primitivo (cioè le tipologie di dati predefinite del linguaggio). I metodi descritti in precedenza sono tuttavia da preferire, dato che risultano più leggibili e possono quindi essere più adatti a un contesto lavorativo in cui il codice sorgente dovrà essere gestito da persone diverse. Dato che il confronto avverrà fra dati primitivi può essere eseguito utilizzando direttamente gli operatori di confronto "<", ">" e "==". Per farlo, dovremo trasformare il valore memorizzato negli oggetti di tipo "Date" usati in preceda in un numero intero di tipo "long". Fortunatamente esiste un metodo che esegue questa conversione in modo semplice e rapido: "getTime()".  long time1 = getTime(date1); //dichiariamo l'oggetto primitivo "time1" a cui assegniamo il valore di "date1" long time2 = getTime(date2); //dichiariamo l'oggetto primitivo "time2" a cui assegniamo il valore di "date2" long time3 = getTime(date3); //dichiariamo l'oggetto primitivo "time3" a cui assegniamo il valore di "date3" Per farlo, utilizzeremo l'operatore di confronto "<" per comparare i due valori interi che corrispondono alle date "date1" e "date2". Dato che il numero memorizzato nell'oggetto "time1" è minore di quello presente nell'oggetto "time2" verrà stampato il messaggio contenuto nel primo ramo della struttura logica "If-else". Il blocco di codice relativo all'istruzione "else" è stato incluso per rispettare la correttezza della sintassi.  if(time1 < time2){ System.out.println("date1 è precedente a date2"); //verrà stampato questo messaggio dato che effettivamente time1 è minore di time2 } else{ System.out.println("date1 non è precedente a date2"); } Per farlo, utilizzeremo l'operatore di confronto ">" per comparare i due valori interi che corrispondono alle date "date1" e "date2". Dato che il numero memorizzato nell'oggetto "time1" è minore di quello presente nell'oggetto "time2" verrà stampato il messaggio contenuto nel primo ramo della struttura logica "If-else". Il blocco di codice relativo all'istruzione "else" è stato incluso per rispettare la correttezza della sintassi.  if(time2 > time1){ System.out.println("date2 è successiva a date1"); //verrà stampato questo messaggio dato che effettivamente time2 è maggiore di time1 } else{ System.out.println("date2 non è successiva a date1"); } Per farlo, utilizzeremo l'operatore di confronto "==" per comparare i due valori interi che corrispondono alle date "date1" e "date2". Dato che il numero memorizzato nell'oggetto "time1" è uguale a quello presente nell'oggetto "time3" verrà stampato il messaggio contenuto nel primo ramo della struttura logica "If-else". Se il programma dovesse stampare a video il secondo messaggio (cioè quello incluso nell'istruzione "else"), significa che le due date confrontate non sono uguali.
Usa il metodo "getTime". Creiamo gli oggetti di tipo "long" che conterranno le date da confrontare. Verifichiamo se la prima data è minore della seconda. Verifichiamo se la prima data è maggiore della seconda. Verifichiamo se entrambe le date sono uguali.
https://www.wikihow.com/Compare-Two-Dates-in-Java
Using getTime