Change DatePickerDialog format: "d-m-yyyy" to "dd-mm-yyyy"

0

I want that when selecting a date for the calendar I return the format of two digits in the day and month (dd-mm-yyyy) but it only returns me one (d-m-yyyy)

Could someone with this, I leave the code that I am implementing

Calendar calendar = Calendar.getInstance();
ImageView btn = findViewById(R.id.btnCalender);
final int day = calendar.get(Calendar.DAY_OF_MONTH);
final int month = calendar.get(Calendar.MONTH);
final int year = calendar.get(Calendar.YEAR);
final TextView tv = findViewById(R.id.calender);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                DatePickerDialog dialog = new DatePickerDialog(CrearActividad.this, new DatePickerDialog.OnDateSetListener() {
                    @Override
                    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                        monthOfYear = monthOfYear + 1;
                        tv.setText(year + "-" + monthOfYear + "-" + dayOfMonth);
                    }
                },year,month,day);
                dialog.show();
            }
        });
    
asked by Jenny Gutiérrez 03.09.2018 в 08:39
source

2 answers

0

Doing it with an if, is a valid option (and seeing the properties , I think the only one ).

public void onDateSet(DatePicker view, int year, int monthOfYear,
        int dayOfMonth) {

    int month = monthOfYear + 1;
    String formattedMonth = "" + month;
    String formattedDayOfMonth = "" + dayOfMonth;

    if(month < 10){

        formattedMonth = "0" + month;
    }
    if(dayOfMonth < 10){

        formattedDayOfMonth = "0" + dayOfMonth;
    }
    tv.setText(formattedDayOfMonth + "-" + formattedMonth + "-" + year);
}
    
answered by 03.09.2018 / 08:56
source
0

Hello friend, it seems to me that the previous solution works but it is not ideal, I suggest this solution:

Calendar cal = Calendar.getInstance();
cal.set(year, monthOfYear, dayOfMonth);
Date date = cal.getTime();
fechaFormateada=new SimpleDateFormat("dd/MM/yyyy").format(date);
    
answered by 03.09.2018 в 19:39