I would like to create an age calculator in a register form without Joda Time, but I have a problem with concatenating an int. It deletes the 0 from the day component (by example 04) and month component, so it completely miscalculates the age. I tried to put it first in a String
then into an int
, but that doesn't work.
private void setAge(View view) {
Calendar calendarB = Calendar.getInstance();
int years = calendarB.get(Calendar.YEAR);
int month = calendarB.get(Calendar.MONTH);
int day = calendarB.get(Calendar.DAY_OF_MONTH);
//int
currentDate = Integer.valueOf(String.valueOf(years) + String.valueOf(month + 1) + String.valueOf(day));
Calendar calendar = Calendar.getInstance();
datePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
//int
birthDate = Integer.valueOf(String.valueOf(year) + String.valueOf(monthOfYear + 1) + String.valueOf(dayOfMonth));
ageI = (currentDate - birthDate) / 10000;
String age = Integer.toString(ageI);
birth.setText(age);
datePickerDialog.dismiss();
}
}, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH));
}