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

青灯夜游
青灯夜游avant
2020-07-27 17:32:154681parcourir

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("程序怎么会运行到这里?正常应该不会");
  }
}

Résultat de sortie :

date1 : 2009-12-31date2 : 2019-01-31Date1 时间在 Date2 之前

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

résultats de sortie

date1 : 2009-12-31date2 : 2019-01-31Date1 时间在 Date2 之前

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

Résultat de sortie :

date1 : 2009-12-31
date2 : 2019-01-31
Date1 时间在 Date2 之前

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

date1 : 2009-12-31date2 : 2019-01-31Is...Date1 时间在 Date2 之前

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!

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