เปรียบเทียบ Date ใน Java ใช้เมธอด compareTo() Syntax:
public int compareTo(Date anotherDate)
anotherDate คือ Date ที่ต้องการเปรียบเทียบ
ค่า Return:
0- Argument Date เท่ากับ This Date< 0- This Date ก่อน Argument Date> 0- This Date หลัง Argument Date
ตัวอย่างที่ 1: compareTo() กับ Date
import java.util.*;
public class Demo {
public static void main(String[] args) {
// สร้าง Date สองตัว (Year, Month, Date) - Month เริ่มจาก 0
Date date = new Date(19, 3, 25); // 1919-04-25
Date date2 = new Date(19, 9, 12); // 1919-10-12
int comparison = date.compareTo(date2);
int comparison2 = date2.compareTo(date);
int comparison3 = date.compareTo(date);
System.out.println("Comparison Result: " + comparison); // -1
System.out.println("Comparison2 Result: " + comparison2); // 1
System.out.println("Comparison3 Result: " + comparison3); // 0
}
}
ผลลัพธ์
Comparison Result: -1
Comparison2 Result: 1
Comparison3 Result: 0
ตัวอย่างที่ 2: equals() ตรวจสอบ Date เท่ากันจาก Millisecond
import java.util.*;
public class Demo {
public static void main(String[] args) {
Date date = new Date(70, 1, 10); // 1970-02-10
Date date2 = new Date(70, 1, 10); // 1970-02-10
boolean check = date.equals(date2);
System.out.println("Dates are equal: " + check); // true
}
}
ผลลัพธ์
Dates are equal: true
หมายเหตุ: java.util.Date ที่รับ (year, month, date) เป็น Deprecated แล้ว ควรใช้ Calendar หรือ java.time.LocalDate (Java 8+) แทนในโค้ด Production