用java写一个根据身份证算出年龄
时间: 2024-01-05 17:05:07 浏览: 153
JAVA 根据身份证计算年龄的实现代码
可以使用Java编写一个程序来根据身份证号码计算年龄。以下是一个示例代码:
```java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class AgeCalculator {
public static void main(String[] args) {
String idCardNumber = "身份证号码"; // 替换成实际的身份证号码
int age = calculateAge(idCardNumber);
System.out.println("年龄:" + age);
}
public static int calculateAge(String idCardNumber) {
String birthdayStr = idCardNumber.substring(6, 14); // 从身份证号码中提取出生日期字符串
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
try {
Date birthday = format.parse(birthdayStr); // 将生日字符串解析为日期对象
Date currentDate = new Date(); // 当前日期
int age = currentDate.getYear() - birthday.getYear(); // 计算年龄
// 如果当前月份小于生日的月份,年龄减一
if (currentDate.getMonth() < birthday.getMonth()) {
age--;
}
// 如果当前月份等于生日的月份,且当前日期小于生日的日期,年龄减一
else if (currentDate.getMonth() == birthday.getMonth() && currentDate.getDate() < birthday.getDate()) {
age--;
}
return age;
} catch (ParseException e) {
e.printStackTrace();
}
return -1; // 如果解析出错,返回-1表示无法计算年龄
}
}
```
请将代码中的"身份证号码"替换为实际的身份证号码,并运行程序即可得到年龄。
阅读全文