0

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!!

Cremlic
  • 88
  • 9

0 Answers0