在map中拿出生日期的数据,去计算年龄的java代码怎么写
时间: 2024-05-05 21:17:52 浏览: 78
Java根据生日计算年龄算法
可以这样写:
```java
// 假设生日数据存在一个叫做birthday的Map中
Map<String, String> birthday = new HashMap<>();
birthday.put("张三", "1990-05-20");
// 获取当前日期
Calendar now = Calendar.getInstance();
// 获取出生日期
String birthStr = birthday.get("张三");
// 将出生日期转换为日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date birthDate = sdf.parse(birthStr);
// 计算年龄
Calendar birth = Calendar.getInstance();
birth.setTime(birthDate);
int age = now.get(Calendar.YEAR) - birth.get(Calendar.YEAR);
if (now.get(Calendar.MONTH) < birth.get(Calendar.MONTH)
|| (now.get(Calendar.MONTH) == birth.get(Calendar.MONTH) && now.get(Calendar.DAY_OF_MONTH) < birth.get(Calendar.DAY_OF_MONTH))) {
age--;
}
// 输出年龄
System.out.println("张三的年龄为:" + age);
```
希望能帮到你。
阅读全文