I have the string date "3.9.1991". And I want to obtain how many years have passed since the date. For example 23. How can I achieve it using Calendar or Date?
EDIT:
I have been trying this:
    private String parseVkBirthday(String birthdayString) {
        // 3.9.1991
        SimpleDateFormat formatter = new SimpleDateFormat("d.M.yyyy");
        String formattedDate = null;
        Calendar date = Calendar.getInstance();
        int year = 0;
        try {
            Date currentDate = new Date();
            Date birthdayDate = formatter.parse(birthdayString);
            Log.d(LOG_TAG, "year1 = " + currentDate.getTime() + " year2 = " + birthdayDate.getTime());
            long diff = currentDate.getTime() - birthdayDate.getTime();
            birthdayDate.setTime(diff);
            date.setTime(birthdayDate);
            year = date.get(Calendar.YEAR);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return "" + year;
    }
But it returns me 1993.
Answer:
There are while 3 ways for solving this problem:
1) As codeaholicguy answered, we can use Joda-Time library(what I prefer for Android).
2) As Basil Bourque answered, we can use ThreeTen-Backport library for using java.time classes from java 8.
3) And we can use java 8 and classes from java.time.
Thanks to everyone.
 
     
     
     
     
     
    
 
    