Dans le monde de la programmation Java, certains scénarios nous obligent à gérer la date et l'heure, comme le développement d'applications de calendrier, des systèmes de gestion des présences Java et la vérification de l'âge de deux personnes. De plus, les dates sont un moyen d’enregistrer le temps car celui-ci fait partie intégrante de notre vie quotidienne. Par conséquent, Java fournit des classes telles que Date et LocalDate pour gérer les dates et les heures. De plus, pour comparer et vérifier si une date est après une autre, il fournit des méthodes intégrées utiles telles que "compareTo()" et "after()".
Avant d'écrire un programme Java pour comparer deux dates, il est nécessaire de comprendre l'énoncé du problème à l'aide d'exemples.
Entrez 1
dateOne = "2023-01-20"; dateTwo = "2024-01-20";
Sortie
dateTwo is after dateOne
Entrez 2
dateOne = "2023-06-20"; dateTwo = "2023-01-20";
Sortie
dateOne is after dateTwo
Comme mentionné dans la section précédente, nous pouvons utiliser les méthodes "compareTo()" et "after()" pour comparer et vérifier si une date est postérieure à une autre. Parlons maintenant de ces méthodes, puis nous aborderons leur mise en œuvre réelle.
after() est une méthode de la classe Calendar utilisée pour identifier si la date spécifiée est postérieure à la date passée. Il accepte une date comme argument et renvoie true si le premier objet date vient après l'objet date passé, false sinon.
dateOne.after(dateTwo);
L'interface Comparable définit uniquement une méthode appelée "CompareTo", qui fournit la fonctionnalité permettant de comparer un objet d'une classe avec lui-même. Il renvoie 0 lorsque le premier objet date est égal à l'objet passé, une valeur positive si le premier objet date est supérieur et une valeur négative dans le cas contraire.
dateOne.compareTo(dateTwo);
Dans l'exemple suivant, nous utiliserons la classe Calendar du package "java.util", qui fournit un système de calendrier en Java. Et, pour vérifier si la première date est postérieure à la deuxième date, nous utiliserons la méthode « after() » avec le bloc if-else.
import java.util.Calendar; public class Example1 { public static void main(String[] args) { // creating two instances of Calendar class Calendar dateOne = Calendar.getInstance(); Calendar dateTwo = Calendar.getInstance(); // setting date, month and year for first instance dateOne.set(Calendar.YEAR, 2024); dateOne.set(Calendar.MONTH, 07); dateOne.set(Calendar.DATE, 25); System.out.println("The date one is: 25 July 2024"); // setting date, month and year for second instance dateTwo.set(Calendar.YEAR, 2023); dateTwo.set(Calendar.MONTH, 07); dateTwo.set(Calendar.DATE, 25); System.out.println("The date two is: 25 July 2023"); // checking if dateOne is after dateTwo if(dateOne.after(dateTwo)) { System.out.println("Date One is after Date Two!"); } else { System.out.println("Date One is before Date Two!"); } } }
The date one is: 25 July 2024 The date two is: 25 July 2023 Date One is after Date Two!
Dans cet exemple, nous utiliserons la classe SimpleDateFormat et Date avec la méthode compareTo() pour comparer et vérifier si la première date est après la deuxième date. Ici, SimpleDateFormat est une classe en Java qui nous permet de convertir la date en chaîne (formatage) et de convertir la chaîne en date au format natif (analyse). Et Date est une classe qui représente une période de temps spécifique en millisecondes.
import java.text.SimpleDateFormat; import java.util.Date; public class Example2 { public static void main(String[] args) throws Exception { // creating instance of SimpleDateFormat SimpleDateFormat timeformat = new SimpleDateFormat("yy/MM/dd"); // initializing two dates Date dateOne = timeformat.parse("23/06/01"); System.out.println("The date one is: " + dateOne); Date dateTwo = timeformat.parse("23/07/01"); System.out.println("The date two is: " + dateTwo); // checking if dateOne is after dateTwo if(dateOne.compareTo(dateTwo) == 1) { System.out.println("Date One is after Date Two!"); } else { System.out.println("Date One is before Date Two!"); } } }
The date one is: Thu Jun 01 00:00:00 GMT 2023 The date two is: Sat Jul 01 00:00:00 GMT 2023 Date One is before Date Two!
Dans cet article, nous avons appris à comparer deux dates en Java pour vérifier si une date se succède. Pour ce faire, nous utilisons deux méthodes intégrées appelées compareTo() et after(). De plus, nous avons découvert comment définir des dates dans les programmes Java à l'aide des classes SimpleDateFormat et Calendar.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!