我有一个日期选择器对话框,用户可以使用该对话框选择日期。条件是:
我已经做了第一点,但我不确定如何比较两个日期以检查它是否超过3个月。
代码中的:checkInYear,checkInMonth和checkInDay是用户选择的,年,月,日是系统日期。
您能否建议如何比较两个日期以检查它是否超过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);
}
}
};
非常感谢
答案 0 :(得分:3)
根据您的需要使用。
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);
取决于你的字符串或你如何获得?您可以从datepicker单独获取所有内容,然后直接在日历实例中设置
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();