原帖:这里
根据自己需要改了改。
根据生日计算年龄可以通过Calendar实现。最简单可以考虑get(Calendar.DAY_OF_YEAR)来简单修正年龄,但是遇到生日在闰年的2月29之后,或者今年是闰年的2月29之后可能出现计算不准,误差一天。所以还是老实判断年月日好了。
/**
* 根据出生日期计算年龄
*
* @param birthDay
* @return 未来日期返回0
* @throws Exception
*/
public static int getAge(Date birthDay) throws Exception {
Calendar cal = Calendar.getInstance();
if (cal.before(birthDay)) {
return 0;
}
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;
}
/**
* 根据出生日期计算年龄
*
* @param strBirthDay
* 字符串型日期
* @param format
* 日期格式
* @return 未来日期返回0
* @throws Exception
*/
public static int getAge(String strBirthDay, String format)
throws Exception {
DateFormat df = new SimpleDateFormat(format);
Date birthDay = df.parse(strBirthDay);
return getAge(birthDay);
}
分享到:
相关推荐
根据生日计算年龄JS
Java根据生日计算年龄算法 不满一年计算月份 不满一月计算天数
SQLServer 根据生日计算年龄
功能:根据生日计算年龄 输入:datNow日期型,当前日期 datBir日期型,生日日期 输出:文本,内容类似“6岁10个月23天,计 2518天”这个样子 说明:润月情况未考虑好,请大家讨论。如2007-2-28至2008-2...
根据出生日期计算年龄的函数,生日和截至日期为参数,使用灵活。可以自己改造算法。
本文实例讲述了php根据生日计算年龄的方法。分享给大家供大家参考。具体如下: <?php function birthday($birthday){ $age = strtotime($birthday); if($age === false){ return false; } list($y1,$m1,$d1...
sql函数 可用于pb调用,根据生日日期,自动精确计算年龄。返回格式为xx岁xx月xx天 不受闰年影响
本篇文章主要是对利用jQuery实现根据生日计算年龄,星座,生肖的示例代码进行了介绍,需要的朋友可以过来参考下
生日计算年龄 不满一年计算月份 不满一月计算天数
主要介绍了PHP常用函数之根据生日计算年龄功能,结合实例形式分析了php日期相关转换与计算操作技巧,需要的朋友可以参考下
c#根据生日自动计算员工的年龄,完全可以运行,大家可以参考
1、支持18、16位身份证号码,支持2、4、6、8位生日格式(例:88,1988,198804,19880409); 2、周岁:计算日期-出生日期,不满的一年舍掉。虚岁计算日期的年份-出生日期的年份+1. 3、最小年龄和最大年龄用来设置输出...
本文给大家分享mysql通过生日计算年龄的方法,每一种方法都非常不错,需要的朋友参考下吧
powerbuilder技术开发,根据转入生日,自动计算年龄。
升级版DateUtil.java 得到几天后的date,根据农历生日计算出年龄,判断当前时间是否在[startTime, endTime]区间,注意时间格式要一致
用PHP代码写的计算年龄跟生日倒计时,是根据生日日期来计算生日倒计时,精确!
主要介绍了JS根据生日算年龄的方法,涉及javascript操作时间的相关技巧,非常简单实用,需要的朋友可以参考下
oracle根据生日自动求年龄的函数源代码,无须创建任何其他表