Get the App
SLTechnology News&Howtos  ›  Development  › 

What are the methods of date-time comparison in java

Shulou Source: shulou.com Published: 2022-06-03 05:14:30 10月01日 Update

This article will explain in detail the methods of date and time comparison in java. The editor thinks it is very practical, so I share it with you for reference. I hope you can get something after reading this article.

1. Date.compareTo ()

Java.util.Date provides a classic method, compareTo (), to compare two dates in Java.

If the two dates are equal, the return value is 0.

If Date is after the date parameter, the return value is greater than 0.

If Date precedes the date parameter, the return value is less than 0.

@ Test

Void 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 time is after 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("程序怎么会运行到这里?正常应该不会"); } } 输出结果: date1 : 2009-12-31 date2 : 2019-01-31 Date1 时间在 Date2 之前

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

A semantically friendly way to compare two java.util.Date

@ Test

Void 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 time is after Date2")

}

If (date1.before (date2)) {

System.out.println ("Date1 time is before Date2")

}

If (date1.equals (date2)) {

System.out.println ("Date1 time equals Date2")

}

}

Output result

Date1: 2009-12-31

Date2: 2019-01-31

Date1 time is before Date2

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

Compare two Date dates using java.util.Calendar

@ Test

Void 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 time is after Date2")

}

If (cal1.before (cal2)) {

System.out.println ("Date1 time is before Date2")

}

If (cal1.equals (cal2)) {

System.out.println ("Date1 time equals Date2")

}

}

Output result:

Date1: 2009-12-31

Date2: 2019-01-31

Date1 time is before Date2

4. Java 8 date comparison method

In Java 8, you can use the new isBefore (), isAfter (), isEqual (), and compareTo () to compare LocalDate,LocalTime and LocalDateTime. The following example compares two java.time.LocalDate

@ Test

Void 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 time is after Date2")

}

If (date1.isBefore (date2)) {

System.out.println ("Date1 time is before Date2")

}

If (date1.isEqual (date2)) {

System.out.println ("Date1 time equals Date2")

}

}

Output result

Date1: 2009-12-31

Date2: 2019-01-31

Is...

Date1 time before Date2 on "what are the methods of date and time comparison in java" this article is shared here, I hope the above content can be of some help to you, so that you can learn more knowledge, if you think the article is good, please share it out for more people to see.

Tags: Time date method two results output articles parameters more good practical content articles knowledge examples programs Classics semantics references help Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Redmi Shulou Technology Apple macOS Xiaomi