Java 传入时间如“2007-09-01”格式计算出年龄
2007-12-19 10:26
357 查看
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) {
// monthNow==monthBirth
if (dayOfMonthNow < dayOfMonthBirth) {
age--;
} else {
// do nothing
}
} else {
// monthNow>monthBirth
age--;
}
} else {
// monthNow<monthBirth
// donothing
}
return age;
}
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) {
// monthNow==monthBirth
if (dayOfMonthNow < dayOfMonthBirth) {
age--;
} else {
// do nothing
}
} else {
// monthNow>monthBirth
age--;
}
} else {
// monthNow<monthBirth
// donothing
}
return age;
}
相关文章推荐
- js验证时间格式+Java计算两个数的百分比,以百分号显示+ mysql的limit分页技术
- Java 计算时间差之年龄问题
- java根据出生日期和当前时间计算年龄
- Java将字符串转化为时间格式,与实现日期的计算
- 时间格式转化与计算代码(java)
- java中判断传入的字符串是否是时间格式
- java中的时间计算和格式处理方法
- 在mysql语句中对于时间格式数据的处理,格式化时间,根据生日计算年龄,计算时间差
- java中常用的与时间有关的方法(string与date转化,出生日期转年龄,时间计算周次等)
- Java计算时间差(两个时间相减)
- Java中时间日期的计算及相互转换
- java 时间计算 格式化的相关记录(后续)
- Java时间戳与日期格式字符串的互转
- Java 时间日期处理:取某一时间,Date转字符串,计算时间差,时间比较大小
- Java json设置时间格式,Jackson设置时间格式,json设置单引号
- java计算两个时间相差(天、小时、分钟、秒)
- java 毫秒转换成时,分,秒,毫秒 && 根据开始时间和天数,计算出几天后的时间
- Java 计算程序执行时间
- java 取得数据库中的时间所有格式:年月日时分秒
- java.util.Date 与 java.sql.Date互转 及 字符串转换为日期时间格式