Java android中的出生日期问题
我在用户注册中使用以下代码作为出生日期,但当使用该代码时,出生月份会少一个,例如出生月份是9月,它在数据库中注册的出生月份是8月,该出生日期以数字形式注册,格式是dd/mm/yyyy 我想要这个月的准确度。请协助Java android中的出生日期问题,java,android,Java,Android,我在用户注册中使用以下代码作为出生日期,但当使用该代码时,出生月份会少一个,例如出生月份是9月,它在数据库中注册的出生月份是8月,该出生日期以数字形式注册,格式是dd/mm/yyyy 我想要这个月的准确度。请协助 public void showDateDialog() { Calendar cal = Calendar.getInstance(); final int day = cal.get(Calendar.DAY_OF_MONTH);
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();
}
public void showDateDialog(){
Calendar cal=Calendar.getInstance();
final int day=cal.get(日历日期,每月的第天);
int month=cal.get(日历月);
int year=cal.get(日历年);
DatePickerDialog.OnDateSetListener侦听器=新建DatePickerDialog.OnDateSetListener(){
@凌驾
公共void onDateSet(日期选择器视图,整数年,整数月,整数月){
如果(日<10日和月<10日)
日期=“0”+月日+”/0”+月日+“/”+年;
如果出现其他情况(10日和10月)
日期=“0”+月日+“/”+月日+“/”+年;
否则,如果(一年中的第10天和第10个月)
日期=月日+“/0”+月日+“/”+年;
其他的
日期=月日+“/”+月日+“/”+年;
出生日期。setText(日期);
}
};
DatePickerDialog dpDialog=新建DatePickerDialog(此,侦听器,年,月,日);
dpDialog.show();
}
日历计数月份从0到11
因此,您可以得到一个月的差异。因此您总是添加1。您的代码的哪一部分与Firebase相关?不幸的是,
日历使用基于零的月份,即一月为0,二月为1。。。。建议不要再使用该类,java.time
包中的类更多appropriate@AlexMamo实际上我使用的是firebase firestore数据库,这就是我提到的原因it@Ramneek大家好,欢迎!请仅在与问题相关的情况下添加标签,而不是在应用程序中使用特定技术时。请参阅或(或常量及其示例)
int month = cal.get(Calendar.MONTH) + 1