JAVA工具类:根据生日获取一个人的年龄
- 如果需要看相关视频讲解,可以看下 dy 搞编程的王小二,持续更新相关java面试题
上代码
package com.future.modules.biz.utils;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class AgeUtils {
public static int getAge(String strDate) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date birthDay = sdf.parse(strDate);
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; }
public static void main(String[] args) {
try {
int age = getAge("06/08/1992");
System.out.println("age:"+age);
} catch (Exception e) {
e.printStackTrace();
}
}
}