在日期选择器中比较日期和时间

comparing date and time in date picker

我有一个日期选择器对话框,用户可以使用它 select 一个日期。条件是:

我已经完成了第一步,但我不确定如何比较两个日期以检查它是否早于 3 个月。

在代码中:checkInYear、checkInMonth 和 checkInDay 是用户select编辑的,年、月、日是系统日期。

能否请您建议如何比较两个日期以检查它是否大于 3 个月。

非常感谢您的帮助。

@Override
            public void onDateChanged(DatePicker view, int selectedYear,
                    int selectedMonthOfYear, int selectedDayOfMonth) {
                setCurrentDateOnView();
                int checkInYear = selectedYear;
                int checkInMonth = selectedMonthOfYear;
                int checkInDay = selectedDayOfMonth;                   
                if (checkInYear > year || checkInYear < year) {
                    view.updateDate(year, month, day);

                }

                if (checkInMonth > month && checkInYear == year) {
                    view.updateDate(year, month, day);
                }

                if (checkInDay > day && checkInYear == year
                        && checkInMonth == month) {
                    view.updateDate(year, month, day);
                }



            }
        };

非常感谢

根据需要使用即可。

String sDate = "05-10-2012"; // suppose you create this type of date as string then

SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");

Date date = sdf.parse(sDate);

Calendar c = Calendar.getInstance();

c.getTime().compareTo(date);

这取决于你的字符串或者你如何得到?您可以从日期选择器中单独获取所有内容,然后直接在日历实例中设置

Calendar my = Calendar.getInstance();
my.set(year, month, day);

现在比较

my.compareTo(Calendar.getInstance());

在不到 3 个月的时间里,您可以使用类似 ..

的东西
Date referenceDate = new Date();
Calendar c = Calendar.getInstance(); 
c.setTime(referenceDate); 
c.add(Calendar.MONTH, -3);
return c.getTime();