我已成功在我的应用中实现了datepicker对话框,对于禁用日期有疑问,请查看我的代码
获得比当年高13年的年份
DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
String now = df.format(new java.util.Date());
String[] datevalues = now.split("/");
int yearsum = Integer.parseInt(datevalues[2]);
int i;
for (i = 0; i < 13; i++) {
yearsum = yearsum - 1;
Log.d("i", "i" + i + yearsum);
}
finaldate = yearsum;
我的DatePicker对话框
Calendar calender = Calendar.getInstance();
int year = calender.get(Calendar.YEAR);
int month = calender.get(Calendar.MONTH);
int day = calender.get(Calendar.DAY_OF_MONTH);
Date newDate = new Date(Long.parseLong(getString(finaldate)));
DatePickerDialog dialog = new DatePickerDialog(Signup.this,
new DateListener(), year, month, day);
// To set the maximum year
dialog.getDatePicker().setMaxDate(finaldate);
dialog.show();
现在我需要显示截止日期为当前日期之前13年的日期,
我使用了dialog.getDatePicker().setMaxDate(finaldate);
行过滤日期,但没有运气。已尝试谷歌但dint得到正确的解决方案。帮我解决问题。
由于
答案 0 :(得分:2)
计算13年前的日期:
Calendar then = Calendar.getInstance();
then.add(Calendar.YEAR, -13);
将其作为日期选择器中的最大日期:
...getDatePicker().setMaxDate(then.getTimeInMillis());