Java程序检查两个日期是否相等


日期是追踪时间的一种方式,它是我们日常生活不可或缺的一部分。在编程世界中,有一些场景需要我们处理日期和时间,例如在Java中开发日历应用程序和考勤管理系统时。因此,Java提供了一些内置类,如Date和LocalDate,用于处理日期和时间。在本文中,我们将探讨Java程序,以检查两个给定的日期是否相等。

Java程序检查两个日期是否相等

要检查两个日期是否相等,我们需要使用内置方法(如'compareTo()'和'equals()')来比较给定的日期。让我们首先讨论它们。

compareTo()

Comparable接口只定义了一个名为'compareTo'的单一方法,该方法赋予了将一个类的对象与其自身进行比较的能力。当第一个日期对象等于传递的对象时,它返回0;如果第一个日期对象大于传递的对象,则返回正值;否则返回负值。

语法

dateOne.compareTo(dateTwo);

equals()

它是String类的一个方法,用于检查两个给定的字符串是否包含相同顺序的相同字符集。如果两个字符串都满足条件,则返回true;否则返回false。

语法

dateOne.equals(dateTwo);

现在,让我们进入Java程序,检查两个日期是否相等。

示例1

在下面的示例中,我们首先将使用LocalDate,这是一个不可变的日期时间对象,用于表示日期,其默认格式为 yyyy-MM-dd。然后,我们使用equals()方法检查定义的日期是否相等。

Open Compiler
import java.time.*; import java.util.*; public class Main { public static void main(String[] args) { // initializing two unequal dates LocalDate dateOne = LocalDate.parse("2021-01-20"); LocalDate dateTwo = LocalDate.parse("2023-06-01"); // checking both dates are equal or not if(dateOne.equals(dateTwo)) { System.out.println("Both dates are equal!"); } else { System.out.println("Both dates are unequal!"); } } }

输出

Both dates are unequal!

示例2

在这个示例中,我们将使用SimpleDateFormat和Date类以及compareTo()方法来检查两个日期是否相等。在这里,SimpleDateFormat是Java中的一个类,它允许我们以本地格式将日期转换为字符串(格式化)并将字符串转换为日期(解析)。而Date是一个表示特定时间段(以毫秒为单位)的类。

Open Compiler
import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static void main(String[] args) throws Exception { // creating instance of SimpleDateFormat SimpleDateFormat timeformat = new SimpleDateFormat("yy/MM/dd"); // initializing two dates Date dateOne = timeformat.parse("23/06/01"); Date dateTwo = timeformat.parse("23/06/01"); // checking both dates are equal or not if(dateOne.compareTo(dateTwo) == 0) { System.out.println("Both dates are equal"); } else { System.out.println("Both dates are unequal!"); } } }

输出

Both dates are equal

示例3

这是另一个使用equals()方法检查两个日期是否相等的示例。

Open Compiler
import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static void main(String[] args) throws Exception { // creating instance of SimpleDateFormat SimpleDateFormat timeformat = new SimpleDateFormat("yy/MM/dd"); // initializing two dates Date dateOne = timeformat.parse("23/06/01"); Date dateTwo = timeformat.parse("23/06/01"); // checking both dates are equal or not if(dateOne.equals(dateTwo)) { System.out.println("Both dates are equal"); } else { System.out.println("Both dates are unequal!"); } } }

输出

Both dates are equal

结论

在本文中,我们学习了如何在Java中比较两个日期以检查它们是否相等。为此,我们使用了两个名为compareTo()和equals()的内置方法。此外,我们还了解了如何在Java程序中使用LocalDate、SimpleDateFormat和Date类来定义日期。

更新于:2023年8月10日

172 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告