|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static long getAgeByIdCard(String idCard){ | 
|---|
|  |  |  | int birthYear = Integer.parseInt(idCard.substring(6, 10)); | 
|---|
|  |  |  | int birthMonth = Integer.parseInt(idCard.substring(10, 12)); | 
|---|
|  |  |  | int birthDay = Integer.parseInt(idCard.substring(12, 14)); | 
|---|
|  |  |  | try{ | 
|---|
|  |  |  | LocalDate birthDate = LocalDate.of(birthYear, birthMonth, birthDay); | 
|---|
|  |  |  | LocalDate currentDate = LocalDate.now(); | 
|---|
|  |  |  | long age = ChronoUnit.YEARS.between(birthDate, currentDate); | 
|---|
|  |  |  | return age; | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | int birthYear = Integer.parseInt(idCard.substring(6, 10)); | 
|---|
|  |  |  | int birthMonth = Integer.parseInt(idCard.substring(10, 12)); | 
|---|
|  |  |  | int birthDay = Integer.parseInt(idCard.substring(12, 14)); | 
|---|
|  |  |  | try{ | 
|---|
|  |  |  | LocalDate birthDate = LocalDate.of(birthYear, birthMonth, birthDay); | 
|---|
|  |  |  | LocalDate currentDate = LocalDate.now(); | 
|---|
|  |  |  | long age = ChronoUnit.YEARS.between(birthDate, currentDate); | 
|---|
|  |  |  | return age; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"身份证号码错误:"+idCard); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"身份证号码错误:"+idCard); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return 0; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|