我在用户注册时使用以下代码表示出生日期,但是使用该代码时,将出生月份数减少了一个,例如,出生月份是9月,则在数据库出生月份中将其注册为8月,并且该出生日期正在以数字形式注册并且格式为dd / mm / yyyy
我想要月份的准确性。请协助
public void showDateDialog() {
Calendar cal = Calendar.getInstance();
final int day = cal.get(Calendar.DAY_OF_MONTH);
int month = cal.get(Calendar.MONTH) ;
int year = cal.get(Calendar.YEAR);
DatePickerDialog.OnDateSetListener listener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
if (day < 10 && monthOfYear < 10)
date = "0" + dayOfMonth + "/0" + monthOfYear + "/" + year;
else if (day < 10 && monthOfYear > 10)
date = "0" + dayOfMonth + "/" + monthOfYear + "/" + year;
else if (day > 10 && monthOfYear < 10)
date = dayOfMonth + "/0" + monthOfYear + "/" + year;
else
date = dayOfMonth + "/" + monthOfYear + "/" + year;
dateOfBirth.setText(date);
}
};
DatePickerDialog dpDialog = new DatePickerDialog(this, listener, year, month, day);
dpDialog.show();
}
最佳答案
日历计数月份从0到11。
这样您就可以得到一个月的差额,因此总要加1。
关于java - Android中的出生日期问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59823458/