date format change in datepicker and calendar

2019-07-23 20:23发布

问题:

How to change 2/3/2013 format to 02/03/2013 (dd/mm/yyyy)?

 Calendar c1 = Calendar.getInstance();
    year = c1.get(Calendar.YEAR);
    month = c1.get(Calendar.MONTH);
    day = c1.get(Calendar.DAY_OF_MONTH);
//  formatter = new SimpleDateFormat("dd/MM/yyyy");


     public void onDateSet(DatePicker view, int selectedYear,
            int selectedMonth, int selectedDay) {
            year = selectedYear;
            month = selectedMonth;
            day = selectedDay;
            // set selected date into textview.
            searchText.setText(new StringBuilder().append(month + 1).append("/").append(day).append("/").append(year).append(" "));
            Log.i("DatePickerDialog","DatePickerDialog");
            dpResult = (DatePicker) findViewById(R.id.dpResult);
            // set selected date into datepicker also.
            dpResult.init(year, month, day, null);
            user.setSearchEntityType("ByDate");
        }       
    };

Current Output:

1/2/2013 
d/m/y

Looking for:

01/02/2013
dd/mm/yyyy

回答1:

@Override
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;
    }
    searchText.setText(formattedDayOfMonth + "/" + formattedMonth + "/" + year);
}


回答2:

Use the DateFormat class. Do something like this:

Calendar cal = Calendar.instance();
cal.set(year, month, day);
CharSequence output = DateFormat.format("MM/dd/yyyy", cal);

See here for more examples.



回答3:

Use this code to get the format like dd/mm/yy.

int month = monthOfYear + 1;
String formattedMonth = "" + month;
String formattedDayOfMonth = "" + dayOfMonth;
String formattedYear=String.valueOf(year);

if(month < 10){

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

   formattedDayOfMonth = "0" + dayOfMonth;
}

formattedYear=formattedYear.substring(formattedYear.length()-2);
String date=formattedDayOfMonth + "/" + formattedMonth + "/" + formattedYear;
mEDDate.setText(date);


回答4:

Simple, add the condition as below:

 if (month<10)
   month='0'+month;
 if (day<10)
   day='0'+day;