Android日期选择器对话框,仅选择下一个10年日期

Android日期选择器对话框,仅选择下一个10年日期,android,date,datetime,android-datepicker,Android,Date,Datetime,Android Datepicker,安卓日期选择器对话框仅选择下一个10年日期 我有一个日期选择器对话框,在该对话框中,我只想选择未来日期(下一个10年),并防止选择过去的日期。 下面是我的代码,避免选择过去的日期,但我只想显示下一个10年的日期了 try { dateFormatter = new SimpleDateFormat("MM/yy", Locale.US); edtMonth.setOnClickListener(this); Calendar newCalendar = Calendar

安卓
日期选择器
对话框
仅选择下一个
10年日期

我有一个日期选择器对话框,在该对话框中,我只想选择未来日期(下一个10年),并防止选择过去的日期。 下面是我的代码,避免选择过去的日期,但我只想显示下一个10年的日期了

try {
    dateFormatter = new SimpleDateFormat("MM/yy", Locale.US);
    edtMonth.setOnClickListener(this);

    Calendar newCalendar = Calendar.getInstance();

    datePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {

        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
            Calendar newDate = Calendar.getInstance();
            newDate.set(year+2, monthOfYear, dayOfMonth);

            edtMonth.setText(dateFormatter.format(newDate.getTime()));
        }

    },newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));

    // it is used for prevent old date selection.
    datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
    datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis()+2);

} catch (Exception e) {
    e.printStackTrace();
}

提前感谢。

要从今天开始仅显示10年,您必须将
MinDate
设置为
System.currentTimeMillis()
并将
MaxDate
设置为
currentTimeMillis+下一个10年Mills
,然后将此值添加到
MaxDate
中,如下所示

setMinDate
今天

  datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis());
setMaxDate
今天

datePickerDialog.getDatePicker().setMaxDate(System.currentTimeMillis() + 10 year Millis);
试试这个

     Calendar cal = Calendar.getInstance();
     cal.setTime(new Date());
     cal.add(Calendar.YEAR, 10);
     Date newDate = cal.getTime();
     datePicker.getDatePicker().setMinDate(System.currentTimeMillis());
     datePicker.getDatePicker().setMaxDate(newDate.getTime());