我有两个用于搜索参数的日期选择器,但我不能超过一周的搜索(服务器上的负载很大)所以我想检查第一个日期是否在第二个日期之前,以及第一个日期和第二个日期是否相隔不到 7 天。如果一切都正确,则返回一个真正的布尔值,如果不是假的。
public Calendar max = Calendar.getInstance();
public boolean checkweek(Calendar cStart, Calendar cEnd) {
Toast.makeText(this,
cStart.DAY_OF_MONTH + " - " + cStart.MONTH + " - " + cStart.YEAR, Toast.LENGTH_LONG).show();
if (cEnd.after(cStart) || ((cEnd.DAY_OF_MONTH == cStart.DAY_OF_MONTH) && (cEnd.MONTH == cStart.MONTH))) {
max.set(Calendar.YEAR, cStart.YEAR);
max.set(Calendar.MONTH, cStart.MONTH);
max.set(Calendar.DAY_OF_MONTH, cStart.DAY_OF_MONTH);
max.add(Calendar.DAY_OF_MONTH, 7);
Toast.makeText(this,
max.DAY_OF_MONTH + " - " + max.MONTH + " - " + max.YEAR,
Toast.LENGTH_LONG).show();
if (cEnd.before(max)) {
return true;
}
else{
return false;
}
}
else{
return false;}
}
但它会抛出一个空异常。我声明了 cStart 和 cEnd 所以我不知道它是什么......