JAVA 根据身份证计算年龄的实现代码

2025-05-29 0 80

下面一段代码给大家分享java根据身份证计算年龄的方法,具体代码如下所示:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44
birthdate = idcard.substring(6,10)+"-"+idcard.substring(10,12)+"-"+idcard.substring(12,14)

public static int getagefrombirthtime(string birthtimestring){

// 先截取到字符串中的年、月、日

string strs[] = birthtimestring.trim().split("-");

int selectyear = integer.parseint(strs[0]);

int selectmonth = integer.parseint(strs[1]);

int selectday = integer.parseint(strs[2]);

// 得到当前时间的年、月、日

calendar cal = calendar.getinstance();

int yearnow = cal.get(calendar.year);

int monthnow = cal.get(calendar.month) + 1;

int daynow = cal.get(calendar.date);

// 用当前年月日减去生日年月日

int yearminus = yearnow - selectyear;

int monthminus = monthnow - selectmonth;

int dayminus = daynow - selectday;

int age = yearminus;

if (yearminus < 0) {// 选了未来的年份

age = 0;

} else if (yearminus == 0) {// 同年的,要么为1,要么为0

if (monthminus < 0) {// 选了未来的月份

age = 0;

} else if (monthminus == 0) {// 同月份的

if (dayminus < 0) {// 选了未来的日期

age = 0;

} else if (dayminus >= 0) {

age = 1;

}

} else if (monthminus > 0) {

age = 1;

}

} else if (yearminus > 0) {

if (monthminus < 0) {// 当前月>生日月

} else if (monthminus == 0) {// 同月份的,再根据日期计算年龄

if (dayminus < 0) {

} else if (dayminus >= 0) {

age = age + 1;

}

} else if (monthminus > 0) {

age = age + 1;

}

}

return age;

}

下面在看下java根据出生日期获得年龄

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24
public static int getage(date birthday) throws exception {

calendar cal = calendar.getinstance();

if (cal.before(birthday)) {

throw new illegalargumentexception(

"the birthday is before now.it's unbelievable!");

}

int yearnow = cal.get(calendar.year);

int monthnow = cal.get(calendar.month);

int dayofmonthnow = cal.get(calendar.day_of_month);

cal.settime(birthday);

int yearbirth = cal.get(calendar.year);

int monthbirth = cal.get(calendar.month);

int dayofmonthbirth = cal.get(calendar.day_of_month);

int age = yearnow - yearbirth;

if (monthnow <= monthbirth) {

if (monthnow == monthbirth) {

if (dayofmonthnow < dayofmonthbirth) age--;

}else{

age--;

}

}

system.out.println("age:"+age);

return age;

}

总结

以上所述是小编给大家介绍的java 根据身份证计算年龄,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对快网idc网站的支持!

原文链接:https://blog.csdn.net/HrlSnow/article/details/80266906

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 JAVA 根据身份证计算年龄的实现代码 https://www.kuaiidc.com/111924.html

相关文章

发表评论
暂无评论