import java.util.Calendar;
import java.util.Scanner;
/**
*
根据用户输入的身份证号码,从字符串中提取用户的出生年月日,输出用户的生日信息。
要求:
身份证号码必须为18位或16位。
年龄范围在1900到当前日期之间。
月份必须在1~12之间
对应的日应该与当前月相符,如4月最多只有30天。注意判断闰年的2月有29天。
* @author 万星明
* @version 1.0
* @time
*/
public class Work5 {
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;
}
}
}
Java从身份证号码,提取用户的出生年月日,输出用户的生日信息。
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 公司最近新入职了20名员工,已知每个员工的身份证号,现需要将员工的出生年月日统计出来,纳入公司的福利数据库,以便在...
- 表格中已有身份证号码,现在需要提取其中的生日信息。今天教的是第一个方法-数据分列。 步骤: 1.选中身份证号码的那...
- 今天来介绍一个比较快捷的方式来提取身份证号码里面的生日信息。 快捷键:Ctrl+E 这个快捷键是Excel 201...
- 这里讲解使用公式,用来从身份证号码里面提取生日信息。 公式一:MID函数&TEXT函数组合使用 在单元格内输入公式...