Comparer les dates à java

Il existe plusieurs façons de comparer les dates en Java. En interne, une date est représentée comme un point (long) dans le temps - le nombre de millisecondes qui se sont écoulées depuis le 1er janvier 1970. En Java, date est l`objet Date, ce qui signifie qu`il contient plusieurs méthodes (méthodes) pour comparer les dates. Toute méthode de comparaison de deux dates comparera essentiellement le temps écoulé des deux dates.

Pas

Méthode 1 sur 4: Utilisation de la commande `compareTo`

Image intitulée 4301351 1
1. Utiliser comparerà. Date met en œuvre Comparable
Image intitulée 4301351 2
2. Créer les objets Date. Vous devrez créer chaque objet date avant de pouvoir les comparer. Une façon de le faire est d`appliquer la classe SimpleDateFormat. Vous permet de saisir facilement des dates dans les objets Date.
SimpleDateFormat sdf = new SimpleDateFormat(`aaaa-MM-jj`); //Pour déclarer des valeurs dans les nouveaux objets date. Utiliser le même format de date lors de la création de dates Datedatum1 = sdf.parse(`1995-02-23`); //date1 est le 23 février 1995 Date date2 = sdf.parse(`2001-10-31`); //date2 est le 31 octobre 2001 Date date3 = sdf.parse(`1995-02-23`); //date3 est le 23 février 1995
Image intitulée 4301351 3
3. Comparer les objets date. Le tableau ci-dessous montre chaque cas - inférieur, égal et supérieur à.
date1.comparerÀ(date2) ; //date1 < date2, moins de 0 date2.comparerA(date1) ; //date2 > date1, renvoie une valeur supérieure à 0 date1.comparerA(date3) ; //date1 = date3, renvoie 0

Méthode 2 sur 4 : Utilisation des méthodes « égale, après et avant »

Image intitulée 4301351 4
1. Utiliser des égaux, après et avant. Les dates peuvent être comparées à l`aide des méthodes égales, après et avant. Si deux dates indiquent la même heure, la méthode equals renverra `true`. Les exemples utilisent les dates précédemment créées via la méthode compareTo.
Image intitulée 4301351 5
2. Comparer en utilisant la méthode avant. Le code ci-dessous montre un cas de vrai et faux. Si date1 est antérieure à date2, le résultat est vrai. Sinon, avant renvoie false.
Système.en dehors.imprimer(date1.avant(date2)); // imprimer vrai système.en dehors.imprimer(date2.avant(date2)); // imprime faux
Image intitulée 4301351 6
3. Comparez cela avec la méthode après. Le code ci-dessous montre un cas de vrai et faux. Si date2 est postérieure à date1, alors après renvoie vrai. Sinon, après renvoie false.
Système.en dehors.imprimer(date2.after(date1));//print true System.en dehors.imprimer(date1.après(date2)); // print false
Image intitulée 4301351 7
4. Comparer en utilisant la méthode d`égalité. Le code ci-dessous montre un cas de vrai et faux. Si les dates sont égales, equals renvoie true. Sinon, égal à renvoie faux.
Système.en dehors.imprimer(date1.equals(date3));//print true System.en dehors.imprimer(date1.est égal à (date2)); // print false

Méthode 3 sur 4: Utilisation de la classe Calendar

Image intitulée 4301351 8
1. Utiliser la classe Calendrier. La classe Calendar propose également des méthodes compareTo, equals, after et before, qui fonctionnent de la même manière que celle décrite ci-dessus pour la classe date. Donc, si les données de date sont conservées dans un calendrier, il n`est pas nécessaire d`extraire `date` juste pour comparer deux dates.
Image intitulée 4301351 9
2. Créer une instance de calendrier. Pour utiliser les méthodes Calendar, vous avez besoin de quelques instances Calendar. Heureusement, vous pouvez utiliser l`heure générée par les instances Date.
Appel de calendrier1 = Calendrier.getInstance(); //déclare cal1 Calendrier cal2 = Calendrier.getInstance(); //déclare cal2 Calendrier cal3 = Calendrier.getInstance(); //déclare cal3 cal1.setTime(date1) ; // applique la date à call1 cal2.setTime(date2) ; cal3.setTime(date3) ;
Image intitulée 4301351 10
3. Comparez cal1 et cal2 en utilisant avant. Le code ci-dessous renvoie true car cal1 est avant cal2.
Système.en dehors.imprimer (cal1.avant(cal2)); // imprimer vrai
Image intitulée 4301351 11
4. Comparez cal1 et cal2 en utilisant après. Le code ci-dessous renvoie false, car cal1 est avant cal2.
Système.en dehors.imprimer (cal1.après(cal2)); // imprime faux
Image intitulée 4301351 12
5. Comparez cal1 et cal2 en utilisant des égaux. Le code ci-dessous montre un exemple de vrai et faux. La condition dépend des instances de calendrier comparées. Le code ci-dessous donne `true` puis `false` sur la ligne suivante.
Système.en dehors.println(cal1.égal(cal3)); // imprimer vrai : cal1 == cal3 Système.en dehors.imprimer (cal1.égal(cal2)); // affiche false : appel1 != cal2

Méthode4 sur 4: Utilisation de la méthode `getTime`

Image intitulée 4301351 13
1. Utiliser getTime. Il est également possible de comparer directement deux points dans le temps, bien que l`une des approches précédentes soit susceptible de donner des résultats plus lisibles et soit donc préférée. Ceci est une comparaison de deux types de données primitifs, donc peut être fait avec `<`, `>` et `==`.
Image intitulée 4301351 14
2. Créer les objets « longs ». Avant de pouvoir comparer des dates, vous devez créer des entiers longs à partir des données des objets Date précédemment créés. Heureusement, la méthode getTime() fera la plupart du travail pour vous.
long time1 = getTime(date1) ; //déclare la primitive time1 à partir de la date1 long time2 = getTime(date2); //déclare la primitive time2 à partir de date2
Image intitulée 4301351 15
3. Utiliser une équation "inférieure à". Utilisez un symbole "inférieur à" (<) pour comparer ces deux valeurs entières. Puisque time1 est plus petit que time2, le premier message doit être imprimé à l`écran. L`instruction else est incluse pour la syntaxe correcte.
si (heure1 < heure2){ Système.en dehors.println(`date1 est antérieure à date2`); // imprimer car time1 < time2 } else{ Système.en dehors.println(`date1 est postérieure ou égale à date2`); }
Image intitulée 4301351 16
4. Faire une comparaison « supérieur à ». Utilisez le symbole supérieur à (>) pour comparer ces deux entiers. Parce que time1 est supérieur à time2, le premier message est imprimé à l`écran. L`instruction else est incluse pour une syntaxe correcte.
si (temps2 > heure1){ Système.en dehors.println(`date2 vient après date1`); // imprimer car time2 > time1} else{ Système.en dehors.println(`date2 est antérieure ou égale à date1`); }
Image intitulée 4301351 17
5. Faites une comparaison « égale à ». Utilisez le symbole (==) pour comparer ces deux nombres entiers. Puisque time1 est égal à time3, le premier message doit être imprimé. Si le programme atteint l`instruction else, cela signifie que les temps ne sont pas égaux.
if(time1 == time2){ Système.en dehors.println(`Les dates correspondent`); } else{ Système.en dehors.println(`Les dates ne sont pas les mêmes`); // imprimer car time1 != heure2 }

Оцените, пожалуйста статью