1. Date.compareTo()
java.util.Date
bietet eine Möglichkeit, zwei Datumsangaben in Java Classic zu vergleichen Methode CompareTo().
1. Wenn die beiden Daten gleich sind, ist der Rückgabewert 0.
2. Wenn Date nach dem Datumsparameter liegt, ist der Rückgabewert größer als 0.
3. Wenn Date vor dem Datumsparameter liegt, ist der Rückgabewert kleiner als 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("程序怎么会运行到这里?正常应该不会"); } }
Ausgabeergebnis:
date1 : 2009-12-31date2 : 2019-01-31Date1 时间在 Date2 之前
2. Date.before(), Date.after() und Date.equals()
Eine semantisch benutzerfreundliche Möglichkeit, zwei 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 相等"); } }
Ausgabeergebnisse zu vergleichen
date1 : 2009-12-31date2 : 2019-01-31Date1 时间在 Date2 之前
3. Calender.before(), Calender .after() und Calender.equals()
Verwenden Sie java.util.Calendar
, um zwei Datumsangaben zu vergleichen
@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 相等"); } }
Ausgabeergebnis:
date1 : 2009-12-31 date2 : 2019-01-31 Date1 时间在 Date2 之前
4 . Java 8-Datumsvergleichsmethoden
In Java 8 können Sie die neuen Methoden isBefore(), isAfter(), isEqual() und CompareTo() verwenden, um LocalDate, LocalTime und LocalDateTime zu vergleichen. Das folgende Beispiel vergleicht die Ausgabeergebnisse von zwei 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 之前
Empfohlenes Tutorial: „Java-Tutorial“
Das obige ist der detaillierte Inhalt vonWie vergleiche ich Datum und Uhrzeit in Java? 4 Methoden vorgestellt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!