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());