android根据日期计算年龄

public class DateGetAge
{
     publicstatic int getAge(Date birthDay) throws Exception
    {
        Calendar cal = Calendar.getInstance();
 
         if (cal.before(birthDay))
        {
             thrownew IllegalArgumentException( "The birthDay is before Now.It's unbelievable!" );
        }
         int  yearNow = cal.get(Calendar.YEAR);
         int  monthNow = cal.get(Calendar.MONTH);
         int  dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH);
        cal.setTime(birthDay);
 
         int  yearBirth = cal.get(Calendar.YEAR);
         int  monthBirth = cal.get(Calendar.MONTH);
         int  dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH);
 
         int  age = yearNow - yearBirth;
 
         if (monthNow <= monthBirth)
        {
             if (monthNow == monthBirth)
            {
                 if (dayOfMonthNow < dayOfMonthBirth)
                    age--;
            }
             else
            {
                age--;
            }
        }
         return  age;
    }
}

猜你喜欢

转载自blog.csdn.net/hqyhqyhq/article/details/78532545