简体   繁体   中英

how to get the correct month in date picker android

This is my code:

int day = d.getDayOfMonth();
int month = d.getMonth() + 1;                 
int year = d.getYear();                  
Calendar calendar = Calendar.getInstance();                    
calendar.set(year, month, day);                  
SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd");                   
String strDate = format.format(calendar.getTime()); 

I'm getting the following output: 2017-31-17 but I should get 2017-01-17

What should I change in order to get the correct month in date picker android ?

You ca use datePicker as follows

   Calendar newCalendar = Calendar.getInstance();
    DatePickerDialog  fromDatePickerDialog = new DatePickerDialog(this, new OnDateSetListener() {

    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
        Calendar newDate = Calendar.getInstance();
        newDate.set(year, monthOfYear, dayOfMonth);
//set date format in your TextView
        fromDateEtxt.setText(dateFormatter.format(newDate.getTime()));
    }

},newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));
fromDatePickerDialog.show();

I hope it works for you. Thank you

final Calendar c = Calendar.getInstance();
                    mYear = c.get(Calendar.YEAR);
                    mMonth = c.get(Calendar.MONTH);
                    mDay = c.get(Calendar.DAY_OF_MONTH);




                    DatePickerDialog datePickerDialog = new DatePickerDialog(this,
                            new DatePickerDialog.OnDateSetListener() {

                                    @Override
                                    public void onDateSet(DatePicker view, int year,
                                                          int monthOfYear, int dayOfMonth)
                                    {
                                            dates = dayOfMonth + "-" + (monthOfYear + 1) + "-" + year;
                                            txtDate.setText(dayOfMonth + "-" + (monthOfYear + 1) + "-" + year);

                                    }
                            }, mYear, mMonth, mDay);
                    datePickerDialog.getDatePicker().setMinDate(c.getTimeInMillis());

                    datePickerDialog.show();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM