How to set min time on timepicker dialog or disable past time on timepicker dialog in android. Any library suggestion ?
Asked
Active
Viewed 8,437 times
0
-
Possible duplicate of [Android TimePickerDialog set max time](https://stackoverflow.com/questions/13516389/android-timepickerdialog-set-max-time) – ADM Jan 05 '18 at 09:37
-
And read [This answer](https://stackoverflow.com/a/16942630/4168607). – ADM Jan 05 '18 at 09:37
-
Check this library : https://github.com/wdullaer/MaterialDateTimePicker – Mahesh Vayak Jan 05 '18 at 09:41
-
@ADM but how I can disable not selectable time(Hour) ? – Nitesh Shrivas Jan 05 '18 at 09:54
-
@MaheshVayak On this how I can set min date to TimePicker – Nitesh Shrivas Jan 05 '18 at 09:55
-
@NiteshShrivas see below code – Mahesh Vayak Jan 05 '18 at 10:11
1 Answers
1
public class MainActivity extends AppCompatActivity implements DatePickerDialog.OnDateSetListener, TimePickerDialog.OnTimeSetListener
For Time Picker
@SuppressLint("WrongConstant")
public void showTimePicker(Calendar calendar) {
Calendar minTimeCalendar = Calendar.getInstance();
minTimeCalendar.setTime(localToGMT(minTimeCalendar.getTime()));
TimePickerDialog tpd = TimePickerDialog.newInstance(this, calendar.get(11), calendar.get(12), true);
if (compareToDate(calendar.getTime(), minTimeCalendar.getTime())) {
minTimeCalendar.add(12, 60);
tpd.setMinTime(minTimeCalendar.get(11), 0, 0);
}
**tpd.enableMinutes(false);**
tpd.setVersion(TimePickerDialog.Version.VERSION_2);
tpd.show(getFragmentManager(), "TimePickDialog");
}
For Date Picker
public void showDatePicker(Calendar calendar) {
Calendar minDateCalendar = Calendar.getInstance();
if (currentHour == 24) {
minDateCalendar.add(Calendar.DAY_OF_YEAR, 1);
}
minDateCalendar.setTime(localToGMT(minDateCalendar.getTime()));
@SuppressLint("WrongConstant") DatePickerDialog dpd = DatePickerDialog.newInstance(this, calendar.get(1), calendar.get(2), calendar.get(5));
dpd.setMinDate(minDateCalendar);
dpd.setVersion(DatePickerDialog.Version.VERSION_2);
dpd.show(getFragmentManager(), "DatePickerDialog");
}
Both Override method
@Override
public void onDateSet(DatePickerDialog view, int year, int monthOfYear, int dayOfMonth) {
//display selected date here code
}
@Override
public void onTimeSet(TimePickerDialog view, int hourOfDay, int minute, int second) {
//display selected time here code
}
Hope this helps you...if you need any help you can ask

Mahesh Vayak
- 1,056
- 12
- 25
-
@Nitesh Shrivas You can enable and disable minutes and set min time easy – Mahesh Vayak Jan 05 '18 at 10:02