java根据出生日期和当前时间计算年龄
来源:互联网 发布:网络拓扑设计文档 编辑:程序博客网 时间:2024/05/16 00:35
1、获取系统时间计算年龄
public static int getAgeByBirthday(Date birthday) {
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) + 1;
int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH);
cal.setTime(birthday);
int yearBirth = cal.get(Calendar.YEAR);
int monthBirth = cal.get(Calendar.MONTH) + 1;
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 {
// monthNow>monthBirth
age--;
}
}
return age;
}
2、输入时间参数计算年龄
public static int getAgeByBirthday(Date birthday, Date treattime) {
Calendar cal1 = Calendar.getInstance();
cal1.setTime(treattime);
if (cal1.before(birthday)) {
throw new IllegalArgumentException(
"The birthDay is before Now.It's unbelievable!");
}
int yearNow = cal1.get(Calendar.YEAR);
int monthNow = cal1.get(Calendar.MONTH) + 1;
int dayOfMonthNow = cal1.get(Calendar.DAY_OF_MONTH);
Calendar cal2 = Calendar.getInstance();
cal2.setTime(birthday);
int yearBirth = cal2.get(Calendar.YEAR);
int monthBirth = cal2.get(Calendar.MONTH) + 1;
int dayOfMonthBirth = cal2.get(Calendar.DAY_OF_MONTH);
int age = yearNow - yearBirth;
if (monthNow <= monthBirth) {
if (monthNow == monthBirth) {
// monthNow==monthBirth
if (dayOfMonthNow < dayOfMonthBirth) {
age--;
}
} else {
// monthNow>monthBirth
age--;
}
}
return age;
}
- java根据出生日期和当前时间计算年龄
- java根据出生日期计算年龄
- 根据出生日期计算年龄
- 根据出生日期计算年龄
- sql 根据出生日期计算年龄
- mysql根据出生日期计算年龄
- oracle根据出生日期计算年龄
- 根据出生日期Date 计算年龄
- mssql 根据出生日期计算年龄
- 在JS中根据身份证号计算出生日期和年龄
- 根据当前时间计算年龄的函数
- Oracle中根据出生日期计算年龄
- 根据出生日期,计算年龄,精确到天
- JS中根据出生日期计算年龄
- oracle 根据出生日期计算精确年龄
- 根据出生日期计算年龄的代码
- php根据出生日期计算年龄函数
- 计算年龄代码片段(根据出生日期计算年龄)
- CocoaPods使用
- Java学习之字节流及字节高效流
- 对数据结构一点一小小的理解(二)——算法分析部分
- 熔断器设计模式
- C/C++_log2000_windows编程之第一个控制台程序项目part2
- java根据出生日期和当前时间计算年龄
- ZCMU—1676
- MyBatis中<resultMap>的<association>和<collection>标签的使用
- python3 二叉树遍历
- Hadoop项目实战-用户行为分析之编码实践
- 定时删除归档日志shell
- Android注解框架
- HTML5 Boilerplate
- 【安卓随笔】轻度自虐之使用CMake开发NDK(案例:YUV转RGB)