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()方法檢查定義的日期是否相等。

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類來定義日期。

更新於:2023年8月10日

172 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告