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

เปรียบเทียบวันที่ (Compare Two Dates) ใน Java

ใน Java เปรียบเทียบวันที่สองวันได้ด้วยเมธอด compareTo() ของอินเตอร์เฟซ Comparable คืนค่า:

  • 0 - วันที่เท่ากัน
  • > 0 - date1 หลัง date2
  • < 0 - date1 ก่อน date2

ไวยากรณ์

int compareTo(T o)

ตัวอย่าง: เปรียบเทียบสองวันที่


import java.text.*;
import java.util.Date;

public class CompareTwoDatesTest {
    public static void main(String[] args) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date d1 = sdf.parse("2019-04-15");
        Date d2 = sdf.parse("2019-08-10");
        
        System.out.println("Date 1: " + sdf.format(d1));
        System.out.println("Date 2: " + sdf.format(d2));
        
        if (d1.compareTo(d2) > 0) {
            System.out.println("Date 1 occurs after Date 2");
        } else if (d1.compareTo(d2) < 0) {
            System.out.println("Date 1 occurs before Date 2");
        } else {
            System.out.println("Both dates are equal");
        }
    }
}

ผลลัพธ์

Date 1: 2019-04-15
Date 2: 2019-08-10
Date 1 occurs before Date 2

แนะนำ (Java 8+): ใช้ java.time.LocalDate และ isBefore(), isAfter(), isEqual() แทน Date/Calendar เดิม


LocalDate d1 = LocalDate.of(2019, 4, 15);
LocalDate d2 = LocalDate.of(2019, 8, 10);
System.out.println(d1.isBefore(d2)); // true