您的位置:首页 > 编程语言 > Java开发

java根据生日计算年龄工具类

2016-12-22 15:16 435 查看
在开发中时常遇到要通过生日计算年龄的需求,这里记录一下

private static int getAgeByBirth(Date birthday) {
int age = 0;
try {
Calendar now = Calendar.getInstance();
now.setTime(new Date());// 当前时间

Calendar birth = Calendar.getInstance();
birth.setTime(birthday);

if (birth.after(now)) {//如果传入的时间,在当前时间的后面,返回0岁
age = 0;
} else {
age = now.get(Calendar.YEAR) - birth.get(Calendar.YEAR);
if (now.get(Calendar.DAY_OF_YEAR) > birth.get(Calendar.DAY_OF_YEAR)) {
age += 1;
}
}
return age;
} catch (Exception e) {//兼容性更强,异常后返回数据
return 0;
}
}


调用

// 定义一个出生时间
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date bithday = format.parse("1994-08-23 17:20:20");
int age = getAgeByBirth(bithday);
System.out.println(age);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java