1.身份证只支持二代18位身份证
2.判断年龄
Period类
这里贴出方法类:
package demo;
import java.time.LocalDate;
import java.time.Period;
public class javaTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
String idNo="320104200006020056";
int year =Integer.valueOf(idNo.substring(6).substring(0, 4)) ;// 得到年份
int month =Integer.valueOf(idNo.substring(10).substring(0, 2));// 得到月份
int day=Integer.valueOf(idNo.substring(12).substring(0,2));//得到日
LocalDate today = LocalDate.now();
System.out.println("Today : " + today);
LocalDate birthDate = LocalDate.of(year, month, day);
System.out.println("BirthDate : " + birthDate);
Period p = Period.between(birthDate, today);
System.out.printf("年龄 : %d 年 %d 月 %d 日", p.getYears(), p.getMonths(), p.getDays());
}
}
这里贴出控制台输出结果: