您的位置:

Java日期比较方法Date.compareTo详解

一、Date.compareTo方法详解

Java中的Date类代表日期类,其中的compareTo方法可以比较两个日期的大小,即判断两个日期之间的时间先后顺序。该方法的返回值有以下三种:

• 返回0,代表两个日期相等

• 返回负数,代表调用该方法的Date对象在参数中的Date对象之前

• 返回正数,代表调用该方法的Date对象在参数中的Date对象之后

    Date date1 = new Date(121, 1, 1);
    Date date2 = new Date(121, 2, 1);
    System.out.println(date1.compareTo(date2)); // -2678400000

二、比较两个日期是否相等

除了使用compareTo方法来比较两个日期是否相等外,还可以使用equals方法。需要注意的是,equals只会判断日期是否相等,不会比较两个日期之间的时间先后顺序。

    Date date1 = new Date(121, 1, 1);
    Date date2 = new Date(121, 1, 1);
    System.out.println(date1.equals(date2)); // true

三、比较两个日期的年份是否相等

可以通过获取Date对象的年份来判断两个日期的年份是否相等。

    Date date1 = new Date(121, 1, 1); // 2021-02-01
    Date date2 = new Date(120, 1, 1); // 2020-02-01
    System.out.println(date1.getYear() == date2.getYear()); // false

四、比较两个日期的月份是否相等

可以通过获取Date对象的月份来判断两个日期的月份是否相等。

    Date date1 = new Date(121, 1, 1); // 2021-02-01
    Date date2 = new Date(121, 2, 1); // 2021-03-01
    System.out.println(date1.getMonth() == date2.getMonth()); // false

五、比较两个日期的天数是否相等

可以通过获取Date对象的天数来判断两个日期的天数是否相等。

    Date date1 = new Date(121, 1, 1); // 2021-02-01
    Date date2 = new Date(121, 2, 1); // 2021-03-01
    System.out.println(date1.getDate() == date2.getDate()); // false