Maison  >  Article  >  Java  >  Programme Java pour comparer les dates afin de déterminer si une date est postérieure à une autre date

Programme Java pour comparer les dates afin de déterminer si une date est postérieure à une autre date

WBOY
WBOYavant
2023-09-20 19:41:08688parcourir

Programme Java pour comparer les dates afin de déterminer si une date est postérieure à une autre date

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()".

Programme Java pour comparer les dates (si une date est après une autre date)

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.

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.

après()

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.

Grammaire

dateOne.after(dateTwo);

compareTo()

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.

Grammaire

dateOne.compareTo(dateTwo);

Exemple 1

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!");
      }
   }
}

Sortie

The date one is: 25 July 2024
The date two is: 25 July 2023
Date One is after Date Two!

Exemple 2

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!");
      }
   }
}

Sortie

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!

Conclusion

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer