Java 检查两个日期是否相等

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类来定义日期。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程