1234567
1234567

Reputation: 2485

how to set datepicker dialog in android to yesterday date

I have a datepicker code which sets current date to datepicker dialog

how can i set this date to yesterdays date, specially during ,month end will it keep yesterdays date and previous month, for example if on 1st feb we check it should display 31st jan and from on 2nd feb should show 1st feb and so on.

 final Calendar c = Calendar.getInstance();
        maxyear = c.get(Calendar.YEAR);
        maxmonth = c.get(Calendar.MONTH);
        maxday = c.get(Calendar.DAY_OF_MONTH);


protected Dialog onCreateDialog(int id) {
        switch (id) {
        case DATE_DIALOG_ID:
            // set date picker as current date
            DatePickerDialog _date =   new DatePickerDialog(this, datePickerListener, maxyear,maxmonth,
                    maxday){
                @Override
                public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth)
                {   
                    if (year < 2014)
                        view.updateDate(2014, mmonth, mday);

                    if (monthOfYear < 12 && year == 2014)
                        view.updateDate(2014, 12, mday);

                    if (dayOfMonth < 31 && year == 2014 && monthOfYear == 12)
                        view.updateDate(2014, 12, 31);

                    if (year > maxyear)
                        view.updateDate(maxyear, maxmonth, maxday);

                    if (monthOfYear > maxmonth && year == maxyear)
                        view.updateDate(maxyear, maxmonth, maxday);

                    if (dayOfMonth > maxday && year == maxyear && monthOfYear == maxmonth)
                        view.updateDate(maxyear, maxmonth, maxday);

                }
            };
            return _date;
        }
        return null;
    }

Upvotes: 2

Views: 1949

Answers (2)

Keshav Gera
Keshav Gera

Reputation: 11244

Update Date using update

mDatePicker.setTitle("Please select date");
mDatePicker.updateDate(1994, 6, 12);

// TODO Hide Future Date Here
                 mDatePicker.getDatePicker().setMaxDate(System.currentTimeMillis());

Upvotes: 1

Fernando Carvalhosa
Fernando Carvalhosa

Reputation: 1107

Have you tried this?

Calendar now = Calendar.getInstance();   

now.add(Calendar.DATE, -1); 

int year = now.get(Calendar.YEAR);
int month = now.get(Calendar.MONTH); // it's zero based
int day = now.get(Calendar.DAY_OF_MONTH);

DatePicker datePicker.updateDate(year, month, day);

Upvotes: 2

Related Questions