我正在尝试使用Android日期选择器通过两个输入来选择日期范围.开始日期以结束日期为其最大日期,结束日期以开始日期为最小日期.
我想允许将日期选择器设置为相同的日期,以允许选择一天作为范围(因为范围包括在内).
但是,似乎最小日期是包含在内的,而最大日期总是是排除的?有什么办法可以使最大日期包含在内?现在,日期选择器将结束日期设置为可以选择的样式,但不是(我真的很讨厌,因为这使人感到困惑).最终看起来像这样(允许2月28日为最大可选日期-请注意3月1日看起来是可选的,但不是):
我在代码中没有做任何特别的事情.只需创建一个DatePickerDialog,然后调用dialog.getDatePicker().setMaxDate(maxDateInMs).
解决方法:
我意识到minday和maxday都包含在内
final Calendar myCalendar = Calendar.getInstance();
DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
}
};
DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this, date, myCalendar
.get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
myCalendar.get(Calendar.DAY_OF_MONTH));
datePickerDialog.getDatePicker().setMinDate(myCalendar.getTimeInMillis());
datePickerDialog.getDatePicker().setMaxDate(myCalendar.getTimeInMillis()+ DateUtils.DAY_IN_MILLIS);
datePickerDialog.show();