如何在 Java 8 中检查两个日期是否相等?
java 8object oriented programmingprogramming更新于 2025/9/22 17:48:17
Java 的 java.time 包提供了日期、时间、实例和持续时间的 API。它提供了各种类,如 Clock、LocalDate、LocalDateTime、LocalTime、MonthDay、Year、YearMonth 等。使用此包中的类,您可以以比以前的替代方案更简单的方式获取与日期和时间相关的详细信息。
Java.time.LocalDate − 此类表示 ISO-8601 日历系统中没有时区的日期对象。此类的 now() 方法从系统时钟获取当前日期。
java.time.LocalDate 类的 of() 方法接受三个整数参数,分别代表年份、月份、日期,并根据给定的详细信息返回 LocalDate 对象的实例。
java.time.LocalDate 的 now() 方法从系统时钟获取并返回当前日期。
类的 equals() 方法接受一个对象(代表 LocalDate )并将其与当前 LocalDate 对象进行比较,如果两者相等,则此方法返回 true,否则返回 false。如果传递给此方法的对象不是 LocalDate 类型,则此方法将返回 false。
示例
以下 Java 示例从用户读取日期值并构造 LocalDate 实例。检索当前日期并比较这两个值并打印结果。
import java.time.LocalDate;
import java.util.Scanner;
public class LocalDateJava8 {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the year: ");
int year = sc.nextInt();
System.out.println("Enter the month: ");
int month = sc.nextInt();
System.out.println("Enter the day: ");
int day = sc.nextInt();
//获取当前日期值
LocalDate givenDate = LocalDate.of(year, month, day);
System.out.println("Date: "+givenDate);
//检索当前日期
LocalDate currentDate = LocalDate.now();
//比较两个值
boolean bool = givenDate.equals(currentDate);
if(bool) {
System.out.println("Given date is equal to the current date ");
}else {
System.out.println("Given date is not equal to the current date ");
}
}
}
输出
Enter the year: 2019 Enter the month: 07 Enter the day: 24 Date: 2019-07-24 Given date is equal to the current date

