我在用户注册时使用以下代码表示出生日期,但是使用该代码时,将出生月份数减少了一个,例如,出生月份是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/

10-10 23:48