Confronta due date in Java
-
Metodo
before()
per confrontare due date in Java -
Metodo
after()
per confrontare due date in Java -
Metodo
equals()
per confrontare due date in Java -
Metodo
compareTo()
per confrontare due date in Java
In questo tutorial impareremo diversi metodi per confrontare le date
in Java. Per ottenere risultati desiderabili, abbiamo bisogno di metodi per esempio, before()
, after()
, equals()
e compareTo()
.
Metodo before()
per confrontare due date in Java
Il primo metodo è il metodo before()
nella classe Java Date
che esegue il confronto tra l’oggetto Date
e l’istante Date
dato. Restituisce true
quando l’oggetto Date
è precedente all’oggetto Date
specificato.
Codici di esempio:
// java 1.8
package simpletesting;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) {
try {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = dateFormat.parse("2019-09-16");
Date date2 = dateFormat.parse("2020-01-25");
System.out.println("Date-1: " + dateFormat.format(date1));
System.out.println("Date-2: " + dateFormat.format(date2));
if (date1.before(date2)) {
System.out.println("Date-1 is before Date-2");
}
} catch (ParseException ex) {
}
}
}
Produzione:
Date-1: 2019-09-16
Date-2: 2020-01-25
Date-1 is before Date-2
Metodo after()
per confrontare due date in Java
Un altro approccio per ottenere questo confronto è usare il metodo after()
nella classe Date
di Java. Questo metodo è opposto al precedente metodo before
e restituisce true
quando l’oggetto Date
è successivo all’oggetto Date
specificato.
Codici di esempio:
// java 1.8
package simpletesting;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) {
try {
SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdformat.parse("2020-01-25");
Date date2 = sdformat.parse("2019-09-16");
System.out.println("Date-1: " + sdformat.format(date1));
System.out.println("Date-2: " + sdformat.format(date2));
if (date1.after(date2)) {
System.out.println("Date-1 is after Date-2");
}
} catch (ParseException ex) {
}
}
}
Produzione:
Date-1: 2020-01-25
Date-2: 2019-09-16
Date-1 is after Date-2
Metodo equals()
per confrontare due date in Java
Un altro approccio consiste nell’usare il metodo equals()
nella classe Date
di Java. Confronta due date e restituisce true
se sono uguali.
Codici di esempio:
// java 1.8
package simpletesting;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) {
try {
SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-dd-mm");
Date date1 = sdformat.parse("2020-01-25");
Date date2 = sdformat.parse("2020-01-25");
System.out.println("Date-1: " + sdformat.format(date1));
System.out.println("Date-2: " + sdformat.format(date2));
if (date1.equals(date2)) {
System.out.println("Date-1 is same as Date-2");
}
} catch (ParseException ex) {
}
}
}
Produzione:
Date-1: 2020-01-25
Date-2: 2020-01-25
Date-1 is same as Date-2
Metodo compareTo()
per confrontare due date in Java
L’ultimo approccio è il metodo compareTo()
nella classe Date
di Java. Confronta due date e restituisce valori diversi in base al risultato del confronto.
- Restituisce
0
se l’argomento data è uguale a un oggettoDate
- Restituisce un valore positivo se un oggetto
Date
è dopo l’argomento date - Restituisce un valore negativo se un oggetto
Date
è precedente alla data dell’argomento
Codici di esempio:
// java 1.8
package simpletesting;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) {
try {
SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdformat.parse("2020-01-25");
Date date2 = sdformat.parse("2020-01-23");
System.out.println("Date-1: " + sdformat.format(date1));
System.out.println("Date-2: " + sdformat.format(date2));
if (date1.compareTo(date2) > 0) {
System.out.println("Date-1 is after Date-2");
} else if (date1.compareTo(date2) < 0) {
System.out.println("Date-1 is before Date-2");
} else if (date1.compareTo(date2) == 0) {
System.out.println("Date-1 is same as Date-2");
}
} catch (ParseException ex) {
}
}
}
Produzione:
Date-1: 2020-01-25
Date-2: 2020-01-23
Date-1 is after Date-2