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)
在日期设置中,如果您使用的是 api 级别 12 及以上,则可以使用以下代码
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
String selectedDate = sdf.format(view.getCalendarView().getDate());
Run Code Online (Sandbox Code Playgroud)
你的 api 级别 <12 那么你必须使用字符串进行操作。