package org.springblade.common.constant;
|
|
import java.util.Calendar;
|
|
public class AgeUtil {
|
|
/**
|
* 根据身份证计算年龄
|
*
|
* @param idcard
|
* @return
|
*/
|
public static Integer idCardToAge(String idcard) {
|
|
if (idcard.length() != 15 && idcard.length() != 18){
|
return null;
|
}
|
|
//身份证日期截取
|
Integer selectYear = Integer.valueOf(idcard.substring(6, 10)); //出生的年份
|
Integer selectMonth = Integer.valueOf(idcard.substring(10, 12)); //出生的月份
|
Integer selectDay = Integer.valueOf(idcard.substring(12, 14)); //出生的日期
|
//当前时间
|
Calendar cal = Calendar.getInstance();
|
Integer yearMinus = cal.get(Calendar.YEAR) - selectYear;
|
Integer monthMinus = cal.get(Calendar.MONTH) + 1 - selectMonth;
|
Integer dayMinus = cal.get(Calendar.DATE) - selectDay;
|
Integer age = yearMinus;
|
if (yearMinus < 0) {
|
age = 0;
|
} else if (yearMinus == 0) {
|
age = 0;
|
} else if (yearMinus > 0) {
|
if (monthMinus == 0) {
|
if (dayMinus < 0) {
|
age = age - 1;
|
}
|
} else if (monthMinus > 0) {
|
age = age + 1;
|
}
|
}
|
return age;
|
}
|
}
|