Java 检查两个日期是否相等
日期是一种追踪时间的方式,它是我们日常生活的一个重要组成部分。在编程世界中,有一些情况我们需要处理日期和时间,比如在Java中开发一个日历应用程序和考勤管理系统。因此,Java提供了一些内置类,如Date和LocalDate,用于处理日期和时间。在本文中,我们将探讨Java程序来检查两个给定的日期是否相等。
Java程序检查两个日期是否相等
为了检查两个日期是否相等,我们需要使用内置方法like ‘compareTo()’and ‘equals()’来比较给定的日期。让我们先来讨论一下这两个方法。
compareTo()
Comparable接口只定义了一个名为’compareTo’的方法,它使得我们可以将一个类的对象与其自身进行比较。当第一个日期对象等于传递的对象时,它返回0;如果第一个日期对象大于传递的对象,返回正值;否则返回负值。
语法
dateOne.compareTo(dateTwo);
equals()
这是String类的一个方法,用于检查两个给定的字符串是否以相同的字符集和相同的顺序组成。如果两个字符串满足条件,则返回true,否则返回false。
语法
dateOne.equals(dateTwo);
现在,让我们进入Java程序中,检查两个日期是否相等。
示例1
在下面的示例中,首先我们将使用LocalDate,它是一个不可变的日期时间对象,用于表示日期,其默认格式为yyyy-MM-dd。然后,我们使用equals()方法来检查定义的日期是否相等。
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是一个表示特定时间段(以毫秒为单位)的类。
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()方法来检查两个日期是否相等。
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类来定义日期。