如何在android Datepicker中更改日期日历格式?

如何在android Datepicker中更改日期日历格式?,android,date,datepicker,Android,Date,Datepicker,我想在从android日期选择器选择日期时显示日期格式01-01-2014 但我的格式是2014年1月1日,由于这个原因,我在搜索日期时遇到了问题 这是我的密码 // On click Of Button @Override public void onClick(View v) { switch (v.getId()) { case R.id.btnAESubmit: saveData(); break; case R.

我想在从android日期选择器选择日期时显示日期格式01-01-2014 但我的格式是2014年1月1日,由于这个原因,我在搜索日期时遇到了问题

这是我的密码

// On click Of Button
@Override
public void onClick(View v) {

    switch (v.getId()) {        
    case R.id.btnAESubmit:
        saveData();
        break;
    case R.id.lblAEDate:
        showDialog(AE_DT_DIALOG_ID);
        break;
    }
}

// to create Date dialog
protected Dialog onCreateDialog(int id) {
    switch (id) {
    case AE_DT_DIALOG_ID:
        final Calendar calendar = Calendar.getInstance();
        int yy = calendar.get(Calendar.YEAR);
        int mm = calendar.get(Calendar.MONTH);
        int dd = calendar.get(Calendar.DAY_OF_MONTH);

        // set date picker as current date
        return new DatePickerDialog(this, datePickerListener, yy, mm, dd);
    }
    return null;
}

// DAte Listener Call on date dialog call
private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {
    // when dialog box is closed, below method will be called.
    public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDay) {
        year = selectedYear;
        month = selectedMonth;          
        day = selectedDay;
        StringBuilder Date;         
        Date = new StringBuilder().append(day).append("-").append(month + 1).append("-").append(year).append(" ");

        // set selected date into lbl View
        lblAEDate.setText(Date);
    }
};

如何将所选日期格式化为2014年1月1日?

尝试此方法,您可以将日期格式设置为您想要的任何格式,请查看示例

Calendar calendar = Calendar.getInstance();
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
String test = dateFormat.format(calendar.getTime());
Log.e("TEST", test);

试试这个,你可以将dateformat设置为你想要的任何格式,查看示例

Calendar calendar = Calendar.getInstance();
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
String test = dateFormat.format(calendar.getTime());
Log.e("TEST", test);
String formattedDay=(String.valueOf(day));
字符串formattedMonth=(String.valueOf(month));
如果(第10天)
{
formattedDay=“0”+天;
}
如果(月<10)
{
formattedMonth=“0”+月份;
}
将此代码放在StringBuilder日期之前并删除
year=selectedYear;
月份=选择的月份
day=所选日期

然后将
formattedDay
formattedMonth
year
传递给您的StringBuilder

希望对你有用

String formattedDay=(String.valueOf(day));
字符串formattedMonth=(String.valueOf(month));
如果(第10天)
{
formattedDay=“0”+天;
}
如果(月<10)
{
formattedMonth=“0”+月份;
}
将此代码放在StringBuilder日期之前并删除
year=selectedYear;
月份=选择的月份
day=所选日期

然后将
formattedDay
formattedMonth
year
传递给您的StringBuilder


希望对你有用

在这里,我得到了另一个被接受的答案

private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {
    // when dialog box is closed, below method will be called.
    public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDay) {          
        String dt;
        year = selectedYear;
        month = selectedMonth + 1;
        day = selectedDay;
        try {
            dt = day + "-" + month + "-" + year;

            SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy"); // Set your date format
            Date currentDt = null;          
            currentDt = sdf.parse(dt);
            String d = sdf.format(currentDt);
            // set selected date into lbl View
            lblDate.setText(d);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }       
    }
};

在这里,我得到了另一个被接受的答案

private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {
    // when dialog box is closed, below method will be called.
    public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDay) {          
        String dt;
        year = selectedYear;
        month = selectedMonth + 1;
        day = selectedDay;
        try {
            dt = day + "-" + month + "-" + year;

            SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy"); // Set your date format
            Date currentDt = null;          
            currentDt = sdf.parse(dt);
            String d = sdf.format(currentDt);
            // set selected date into lbl View
            lblDate.setText(d);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }       
    }
};
public void onDateSet(日期选择器视图,int-yy,int-mm,int-dd){
人口设定日期(年月日+1日);
}
public void populateSetDate(整数年、整数月、整数天){
字符串formattedDay=(String.valueOf(day));
字符串formattedMonth=(String.valueOf(month));
如果(第10天){
formattedDay=“0”+天;
}
如果(月<10){
formattedMonth=“0”+月份;
}
btnDate.setText(格式化日期+“-”+格式化月份+“-”+年份);
}
公共void onDateSet(日期选择器视图,int-yy,int-mm,int-dd){
人口设定日期(年月日+1日);
}
public void populateSetDate(整数年、整数月、整数天){
字符串formattedDay=(String.valueOf(day));
字符串formattedMonth=(String.valueOf(month));
如果(第10天){
formattedDay=“0”+天;
}
如果(月<10){
formattedMonth=“0”+月份;
}
btnDate.setText(格式化日期+“-”+格式化月份+“-”+年份);
}

这是正确的方法吗。。?因为我也在做同样的事情,如果它对我有用的话。。你测试过了吗?在这种情况下,你是否也在做同样的事情?这是正确的方式吗。。?因为我也在做同样的事情,如果它对我有用的话。。你测试过了吗?如果你在做同样的事情呢?