Maison > Java > javaDidacticiel > Comment comparer la date et l'heure en Java ? 4 méthodes présentées

Comment comparer la date et l'heure en Java ? 4 méthodes présentées

青灯夜游
Libérer: 2020-07-27 17:32:15
avant
4688 Les gens l'ont consulté

Comment comparer la date et l'heure en Java ? 4 méthodes présentées

1. Date.compareTo()

java.util.Date fournit un moyen de comparer deux dates dans Java Classic méthode compareTo().

1. Si les deux dates sont égales, la valeur de retour est 0.

2. Si Date est après le paramètre date, la valeur de retour est supérieure à 0.

3. Si Date est avant le paramètre date, la valeur de retour est inférieure à 0.

@Testvoid testDateCompare() throws ParseException {
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  Date date1 = sdf.parse("2009-12-31");
  Date date2 = sdf.parse("2019-01-31");

  System.out.println("date1 : " + sdf.format(date1));
  System.out.println("date2 : " + sdf.format(date2));  if (date1.compareTo(date2) > 0) {
    System.out.println("Date1 时间在 Date2 之后");
  } else if (date1.compareTo(date2) < 0) {
    System.out.println("Date1 时间在 Date2 之前");
  } else if (date1.compareTo(date2) == 0) {
    System.out.println("Date1 时间与 Date2 相等");
  } else {
    System.out.println("程序怎么会运行到这里?正常应该不会");
  }
}
Copier après la connexion

Résultat de sortie :

date1 : 2009-12-31date2 : 2019-01-31Date1 时间在 Date2 之前
Copier après la connexion
Copier après la connexion

2.Date.before(), Date.after() et Date.equals()

Une manière sémantiquement conviviale de comparer deux java.util.Date

@Testvoid testDateCompare2() throws ParseException {
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  Date date1 = sdf.parse("2009-12-31");
  Date date2 = sdf.parse("2019-01-31");

  System.out.println("date1 : " + sdf.format(date1));
  System.out.println("date2 : " + sdf.format(date2));  if (date1.after(date2)) {
    System.out.println("Date1 时间在 Date2 之后");
  }  if (date1.before(date2)) {
    System.out.println("Date1 时间在 Date2 之前");
  }  if (date1.equals(date2)) {
    System.out.println("Date1 时间与 Date2 相等");
  }
}
Copier après la connexion

résultats de sortie

date1 : 2009-12-31date2 : 2019-01-31Date1 时间在 Date2 之前
Copier après la connexion
Copier après la connexion

3. Calender.before(), Calender .after() et Calender.equals()

Utilisez java.util.Calendar pour comparer deux dates de date

@Testvoid testDateCompare3() throws ParseException {
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  Date date1 = sdf.parse("2009-12-31");
  Date date2 = sdf.parse("2019-01-31");

  System.out.println("date1 : " + sdf.format(date1));
  System.out.println("date2 : " + sdf.format(date2));

  Calendar cal1 = Calendar.getInstance();
  Calendar cal2 = Calendar.getInstance();
  cal1.setTime(date1);
  cal2.setTime(date2);  if (cal1.after(cal2)) {
    System.out.println("Date1 时间在 Date2 之后");
  }  if (cal1.before(cal2)) {
    System.out.println("Date1 时间在 Date2 之前");
  }  if (cal1.equals(cal2)) {
    System.out.println("Date1 时间与 Date2 相等");
  }
}
Copier après la connexion

Résultat de sortie :

date1 : 2009-12-31
date2 : 2019-01-31
Date1 时间在 Date2 之前
Copier après la connexion

4 . Méthodes de comparaison de dates Java 8

Dans Java 8, vous pouvez utiliser les nouveaux isBefore(), isAfter(), isEqual() et compareTo() pour comparer LocalDate , LocalTime et LocalDateTime. L'exemple suivant compare les résultats de sortie de deux java.time.LocalDate

@Testvoid testDateCompare4() throws ParseException {
  DateTimeFormatter sdf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
  LocalDate date1 = LocalDate.of(2009, 12, 31);
  LocalDate date2 = LocalDate.of(2019, 1, 31);

  System.out.println("date1 : " + sdf.format(date1));
  System.out.println("date2 : " + sdf.format(date2));

  System.out.println("Is...");  if (date1.isAfter(date2)) {
    System.out.println("Date1 时间在 Date2 之后");
  }  if (date1.isBefore(date2)) {
    System.out.println("Date1 时间在 Date2 之前");
  }  if (date1.isEqual(date2)) {
    System.out.println("Date1 时间与 Date2 相等");
  }
}
Copier après la connexion

date1 : 2009-12-31date2 : 2019-01-31Is...Date1 时间在 Date2 之前
Copier après la connexion

Tutoriel recommandé : "tutoriel Java"

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!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal