我想设置DatePickerDialog的最大日期,通过String类型的“2023-06-01”
时间: 2024-05-08 11:17:42 浏览: 15
你可以使用以下代码设置DatePickerDialog的最大日期:
```
String maxDateString = "2023-06-01";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
Date maxDate = null;
try {
maxDate = sdf.parse(maxDateString);
} catch (ParseException e) {
e.printStackTrace();
}
Calendar calendar = Calendar.getInstance();
if (maxDate != null) {
calendar.setTime(maxDate);
}
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog = new DatePickerDialog(context, null, year, month, dayOfMonth);
datePickerDialog.getDatePicker().setMaxDate(calendar.getTimeInMillis());
datePickerDialog.show();
```
首先,我们将“2023-06-01”转换为Date对象,然后使用Calendar类将日期分解为年、月和日。最后,我们使用DatePickerDialog的setMaxDate()方法将最大日期设置为calendar.getTimeInMillis()。注意,如果maxDateString无法解析为有效的日期,则maxDate将为null,因此我们需要进行相应的异常处理。