I have a date picker that able to choose any dates. and I want to calculate my age from date today and my birthdate. I manage to come up with this code :
com.wdullaer.materialdatetimepicker.date.DatePickerDialog bday_dialog = com.wdullaer.materialdatetimepicker.date.DatePickerDialog.newInstance(new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePickerDialog view12, int year, int monthOfYear, int dayOfMonth) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, monthOfYear);
c.set(Calendar.DAY_OF_MONTH, dayOfMonth);
String strBDate = (monthOfYear + 1) + "/" + dayOfMonth + "/" + year;
mdob_et.setText(strBDate);
age.setText(Integer.toString(calculateAge(c.getTimeInMillis())));
}
int calculateAge(long date){
Calendar dob = Calendar.getInstance();
dob.setTimeInMillis(date);
Calendar today = Calendar.getInstance();
int f_age = today.get(Calendar.YEAR) - dob.get(Calendar.YEAR);
if(today.get(Calendar.DAY_OF_MONTH) < dob.get(Calendar.DAY_OF_MONTH)){
f_age--;
}
return f_age;
}
}, Year,Month,Day);
however it only calculates the year not the date today. any suggestions or workarounds with my code is much appreciated, TIA!!