利用身份证号获取生日信息

Posted 算法与编程之美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用身份证号获取生日信息相关的知识,希望对你有一定的参考价值。

1 问题

如何利用Java程序从身份证号中获取生日信息。

2 方法

采用“截图+文字+代码”的方式描述。

//调用函数获取当前日期以及截取身份证号码中的数字
import java.util.Calendar;
import java.util.Scanner;
public class nain
   static Scanner sc = new Scanner(System.in);
   static Calendar c=Calendar.getInstance();
   public static void main(String[] args)
       System.out.println("请输入身份证:");
       String IDcard = sc.next();
       IDcard(IDcard);
   
   public static void IDcard(String IDcard)
       switch(IDcard.length())
           case 18:
           case 16:
//分别获取出生年月日,以及判断获取的日期是否合理。
               String year = IDcard.substring(6, 10);
               if(Integer.decode(year) <1900 && Integer.decode(year)>c.get(Calendar.YEAR))
                   System.out.println("年龄不合法");
               String month = IDcard.substring(10,12);
               if(Integer.decode(month)<1 && Integer.decode(month)>12)
                   System.out.println("身份证不合法");
               String day = IDcard.substring(12,14);
               c.set(Integer.decode(year) ,Integer.decode(month), 0);
               if(Integer.decode(day)>c.get(Calendar.DAY_OF_MONTH))
                   System.out.println("身份证不合法");
               System.out.println("您的生日为:"+year+"年"+month+"月"+day+"日");
               break;
           default:
               System.out.println("身份证不合法");
               break;
       
   

3 结语

在利用身份证号码获取生日信息时,难点在于如何分别获取身份证号码的信息,在输入身份证号码时就应该把输入的数字转换为字符串型,在获取当前日期时,在调用函数后的月份结果时从0开始的,通过身份证号不同位置的数字代表不同的信息六可以轻松计算出结果,最后不要忘记判断时期是否比较真实。

以上是关于利用身份证号获取生日信息的主要内容,如果未能解决你的问题,请参考以下文章

用sql语句怎么提取身份证号码中的生日信息

elementui---验证重复密码以及生日和身份证号一致

IOS 根据身份证号码获取 年龄 生日 性别

java开发常用工具类

java开发常用工具类集合总结

JS根据身份证号得出年龄、性别、生日、籍贯问题,来个高手