java - para - datepicker rango de fechas
¿Cómo puedo configurarMaxDate() para DatePicker en un mes después de la fecha actual? (3)
Use este fragmento
Calendar cal=Calendar.getInstance()
cal.add(Calendar.MONTH,1)
long afterTwoMonthsinMilli=cal.getTimeInMillis()
DatePickerDialog.getDatePicker().setMaxDate(afterTwoMonthsinMilli);
Lee la fecha actual del sistema en un objeto de calendario y agrega 1 al campo especificado, en este caso MONTH
y devuelve un objeto de calendario
Del mismo modo, si desea agregar valores a otros campos, especifique el campo en el tipo de campo como:
-
Calendar.DAY_OF_MONTH
-
Calendar.YEAR
-
Calendar.HOUR
etc.
Aquí está mi onCreateDialog
:
DatePickerDialog dialog = new DatePickerDialog(this, dpickerListener, year_x, month_x, day_x);
dialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
dialog.getDatePicker().setMaxDate();
Como puede ver, setMaxDate()
está vacío. Quiero establecer la fecha máxima de datePickerDialog
en un mes después de la fecha actual. Así es como obtengo la fecha actual:
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);
debe anular OnDateChangedListener `new 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);
}
}
});`
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, 1);
dialog.getDatePicker().setMaxDate(calendar.getTimeInMillis);
Puede usar "agregar" para agregar al Calendar.MONTH