java代码如何根据身份证号计算当前年龄呢?
下文笔者讲述根据身份证号码获取当前年龄的方法分享,如下所示
身份证号获取年龄的实现思路
1.截取字符串的6~14位 2.使用SimpleDateFormat对象转换身份证中的年龄信息 采用以上方法即可从身份证号中获取年龄信息
身份证号获取年龄的示例
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class BirthUtils {
/**
* 根据身份证号判断当前年龄
* @param cardNo
* @return
*/
public static int getAge(String cardNo) {
String birthday = cardNo.substring(6, 14);
Date birthdate = null;
try {
birthdate = new SimpleDateFormat("yyyyMMdd").parse(birthday);
} catch (ParseException e) {
e.printStackTrace();
}
GregorianCalendar currentDay = new GregorianCalendar();
currentDay.setTime(birthdate);
int birYear = currentDay.get(Calendar.YEAR);
// 获取年龄
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy");
String thisYear = simpleDateFormat.format(new Date());
int age = Integer.parseInt(thisYear) - birYear;
return age;
}
public static void main(String[] args) {
System.out.println(getAge("44030720180611****"));
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


