在AndroidPicker的6-8-2014到06-08-2014的DatePicker中处理零?

Sri*_*ari 2 android datepicker

在我简单的Android应用程序中显示当前日期05-08-2014.使用此代码

SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
String currentDate = sdf.format(new Date());
datepick.setText(currentDate);
Run Code Online (Sandbox Code Playgroud)

当用户想要更改日期时,我将DatePicker用于该textview(datepick).使用此代码

//To show current date in the datepicker
Calendar mcurrentDate=Calendar.getInstance();
int mYear = mcurrentDate.get(Calendar.YEAR);
int mMonth = mcurrentDate.get(Calendar.MONTH);
int mDay = mcurrentDate.get(Calendar.DAY_OF_MONTH);

DatePickerDialog dpdialog=new DatePickerDialog(QAOD_Tab_1.this, new OnDateSetListener(){
@Override
public void onDateSet(DatePicker view, int selectedyear, int selectedmonth, int selectedday) {
datepick.setText(new StringBuilder()
.append(selectedday).append("-").append(selectedmonth + 1).append("-")
.append(selectedyear).append(" ")); 

}
}, mYear, mMonth, mDay);
dpdialog.setTitle("Select Date");                
dpdialog.show();  ` 
Run Code Online (Sandbox Code Playgroud)

现在我得到这样的日期5-8-2014.我还需要在日期和月份之前显示零.如何以这种格式显示零.我需要像这样的结果05-08-2014.

小智 7

SimpleDateFormat使用DatePicker对话框在API 24中导致问题

所以我解决了

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

        // do some stuff for example write on log and update TextField on activity
        int month= monthOfYear+1;
        String fm=""+month;
        String fd=""+dayOfMonth;
        if(month<10){
            fm ="0"+month;
        }
        if (dayOfMonth<10){
            fd="0"+dayOfMonth;
        }
        String date= ""+year+"-"+fm+"-"+fd;
        Log.d("tag",""+date);
Run Code Online (Sandbox Code Playgroud)


man*_*nan 2

在日期设置中,如果您使用的是 api 级别 12 及以上,则可以使用以下代码

    SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
    String selectedDate = sdf.format(view.getCalendarView().getDate());
Run Code Online (Sandbox Code Playgroud)

你的 api 级别 <12 那么你必须使用字符串进行操作。

  • 使用这个 datepick.setText(new StringBuilder() .append(selectedday&gt;9?selectedday:("0"+selectedday)).append("-").append(selectedmonth&gt;8 ?(selectedmonth+1):("0 "+(selectedmonth+1))).append("-") .append(selectedyear).append(" ")); (2认同)