700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Java根据身份证号或者出生日期计算年龄

Java根据身份证号或者出生日期计算年龄

时间:2024-06-17 14:45:10

相关推荐

Java根据身份证号或者出生日期计算年龄

1.根据身份证号计算年龄

import java.util.Calendar;

public String evaluate(String sfzjh){

if(sfzjh == null || “”.equals(sfzjh) ){

return “身份证件号有误,没法计算年龄”;

}

if (sfzjh.length() != 15 && sfzjh.length() != 18){

return “身份证件号有误,没法计算年龄”;

}

String age=“身份证件号有误,没法计算年龄”;

/CheckSFZ sf = new CheckSFZ();

sfzjh = sf.evaluate(sfzjh);/

// 调用校验身份证的函数,若身份证彻底正确,此处能够不须要

if(sfzjh != “身份证件号有误”){

Calendar cal = Calendar.getInstance();

int yearNow = cal.get(Calendar.YEAR);

int monthNow = cal.get(Calendar.MONTH)+1;

int dayNow = cal.get(Calendar.DATE);

int year = Integer.valueOf(sfzjh.substring(6, 10));

int month = Integer.valueOf(sfzjh.substring(10,12));

int day = Integer.valueOf(sfzjh.substring(12,14));

if ((month < monthNow) || (month == monthNow && day<= dayNow) ){

age = String.valueOf(yearNow - year);

} else {

age = String.valueOf(yearNow - year-1);

}

}

return age;

}

2.根据出生日期计算年龄

public static Date parse(String strDate) throws ParseException {

SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd”);

return sdf.parse(strDate);

}

//由出生日期获得年龄

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–;

}

}

return age;

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。