我在用户的注册中使用了下面的出生日期代码,但当使用它时,获取的出生月份要少一个,例如出生月份是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();
}发布于 2020-01-20 20:43:08
日历从0到11的月份计数。
所以你有一个月的difference.So,你总是加1。
发布于 2020-01-20 20:41:41
int month = cal.get(Calendar.MONTH) + 1https://stackoverflow.com/questions/59823458
复制相似问题