Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เปรียบเทียบ Date ใน Java ด้วย compareTo() และ equals()

เปรียบเทียบ 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