在日期选择器中比较日期和时间
comparing date and time in date picker
我有一个日期选择器对话框,用户可以使用它 select 一个日期。条件是:
- 日期不能大于今天(系统日期)
- 日期不得早于 3 个月
我已经完成了第一步,但我不确定如何比较两个日期以检查它是否早于 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();
我有一个日期选择器对话框,用户可以使用它 select 一个日期。条件是:
- 日期不能大于今天(系统日期)
- 日期不得早于 3 个月
我已经完成了第一步,但我不确定如何比较两个日期以检查它是否早于 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();