用Calendar好处是可以直接获取年月日
/**
* 根据出生的时间戳获取当前年龄
*
* @param birthday 生日时间戳(毫秒秒)
*/
public static int getAge(long birthday) {
Calendar currentCalendar = Calendar.getInstance();//实例化calendar
currentCalendar.setTimeInMillis(System.currentTimeMillis());//调用setTimeInMillis方法和System.currentTimeMillis()获取当前时间
Calendar targetCalendar = Calendar.getInstance();
targetCalendar.setTimeInMillis(birthday);//这个解析传进来的时间戳
if (currentCalendar.get(Calendar.MONTH) >= targetCalendar.get(Calendar.MONTH)) {//如果现在的月份大于生日的月份
return currentCalendar.get(Calendar.YEAR) - targetCalendar.get(Calendar.YEAR);//那就直接减,因为现在的年月都大于生日的年月
} else {
return currentCalendar.get(Calendar.YEAR) - targetCalendar.get(Calendar.YEAR) - 1;//否则,减掉一年
}
}
使用方法如下