欢迎访问宙启技术站
智能推送

判断两个日期是否相等的Java函数实现

发布时间:2023-11-22 05:03:32

要实现判断两个日期是否相等的Java函数,我们可以使用java.util.Calendar类来对日期进行比较。下面是一个用于判断两个日期是否相等的函数实现:

import java.util.Calendar;
import java.util.Date;

public class DateEqualityChecker {

    public static boolean areDatesEqual(Date date1, Date date2) {
        // 创建两个Calendar对象,用于比较日期
        Calendar cal1 = Calendar.getInstance();
        Calendar cal2 = Calendar.getInstance();

        // 将传入的Date对象分别设置到Calendar对象中
        cal1.setTime(date1);
        cal2.setTime(date2);

        // 比较年、月、日是否相等
        boolean areYearsEqual = cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR);
        boolean areMonthsEqual = cal1.get(Calendar.MONTH) == cal2.get(Calendar.MONTH);
        boolean areDaysEqual = cal1.get(Calendar.DAY_OF_MONTH) == cal2.get(Calendar.DAY_OF_MONTH);

        // 返回年、月、日均相等即可判断日期相等
        return areYearsEqual && areMonthsEqual && areDaysEqual;
    }

    public static void main(String[] args) {
        // 测试案例
        Date date1 = new Date(2022, Calendar.MARCH, 1);
        Date date2 = new Date(2022, Calendar.MARCH, 1);

        boolean result = areDatesEqual(date1, date2);
        System.out.println("Are dates equal? " + result);
    }
}

在这个函数中,我们首先创建了两个Calendar对象cal1cal2,用于比较日期。然后,我们将传入的Date对象date1date2分别设置到cal1cal2中。

接下来,我们分别通过cal1.get(Calendar.YEAR)cal1.get(Calendar.MONTH)cal1.get(Calendar.DAY_OF_MONTH)获取cal1的年、月、日,并通过cal2.get(Calendar.YEAR)cal2.get(Calendar.MONTH)cal2.get(Calendar.DAY_OF_MONTH)获取cal2的年、月、日。然后分别将它们与==比较,判断年、月、日是否相等。

最后,通过逻辑与运算符&&将年、月、日的比较结果连接起来,如果年、月、日均相等,那么返回true,否则返回false

main函数中,我们创建了两个测试日期date1date2,并调用areDatesEqual函数进行比较,然后输出比较结果。