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