如何将 DatePicker 的 setMaxDate() 设置为当前日期后一个月?
How can I setMaxDate() for DatePicker to one month after the current date?
这是我的 onCreateDialog
:
DatePickerDialog dialog = new DatePickerDialog(this, dpickerListener, year_x, month_x, day_x);
dialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
dialog.getDatePicker().setMaxDate();
如您所见,setMaxDate()
是空的。我想将 datePickerDialog
的最大日期设置为当前日期后一个月。
这是我获取当前日期的方法:
cal2 = Calendar.getInstance();
currentDay = cal2.get(Calendar.DAY_OF_MONTH);
currentMonth = cal2.get(Calendar.MONTH);
currentYear = cal2.get(Calendar.YEAR);
currentDate = new Date();
currentDate.setDate(currentDay);
currentDate.setMonth(currentMonth);
currentDate.setYear(currentYear);
使用这个片段
Calendar cal=Calendar.getInstance()
cal.add(Calendar.MONTH,1)
long afterTwoMonthsinMilli=cal.getTimeInMillis()
DatePickerDialog.getDatePicker().setMaxDate(afterTwoMonthsinMilli);
它将当前系统日期读入一个日历对象并向指定字段加1,在本例中MONTH
和returns一个日历对象
同样如果你想给其他字段加值,在字段类型中指定字段为:
Calendar.DAY_OF_MONTH
Calendar.YEAR
Calendar.HOUR
等等
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, 1);
dialog.getDatePicker().setMaxDate(calendar.getTimeInMillis);
您可以使用 "add" 添加到 Calendar.MONTH
您必须覆盖 OnDateChangedListener
`新的 OnDateChangedListener() {
public void onDateChanged(DatePicker view, int year,
int month, int day) {
Calendar newDate = Calendar.getInstance();
newDate.add(Calendar.MONTH, 1);
if (calendar.before(newDate)) {
view.init(minYear, minMonth, minDay, this);
}
}
});`
这是我的 onCreateDialog
:
DatePickerDialog dialog = new DatePickerDialog(this, dpickerListener, year_x, month_x, day_x);
dialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
dialog.getDatePicker().setMaxDate();
如您所见,setMaxDate()
是空的。我想将 datePickerDialog
的最大日期设置为当前日期后一个月。
这是我获取当前日期的方法:
cal2 = Calendar.getInstance();
currentDay = cal2.get(Calendar.DAY_OF_MONTH);
currentMonth = cal2.get(Calendar.MONTH);
currentYear = cal2.get(Calendar.YEAR);
currentDate = new Date();
currentDate.setDate(currentDay);
currentDate.setMonth(currentMonth);
currentDate.setYear(currentYear);
使用这个片段
Calendar cal=Calendar.getInstance()
cal.add(Calendar.MONTH,1)
long afterTwoMonthsinMilli=cal.getTimeInMillis()
DatePickerDialog.getDatePicker().setMaxDate(afterTwoMonthsinMilli);
它将当前系统日期读入一个日历对象并向指定字段加1,在本例中MONTH
和returns一个日历对象
同样如果你想给其他字段加值,在字段类型中指定字段为:
Calendar.DAY_OF_MONTH
Calendar.YEAR
Calendar.HOUR
等等
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, 1);
dialog.getDatePicker().setMaxDate(calendar.getTimeInMillis);
您可以使用 "add" 添加到 Calendar.MONTH
您必须覆盖 OnDateChangedListener `新的 OnDateChangedListener() {
public void onDateChanged(DatePicker view, int year,
int month, int day) {
Calendar newDate = Calendar.getInstance();
newDate.add(Calendar.MONTH, 1);
if (calendar.before(newDate)) {
view.init(minYear, minMonth, minDay, this);
}
}
});`