原帖:这里
根据自己需要改了改。
根据生日计算年龄可以通过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);
}
分享到:
相关推荐
### 根据生日计算年龄的JavaScript方法 在日常开发中,我们经常需要处理与日期相关的逻辑,例如根据用户的出生日期来计算其年龄。这在很多应用场景下都非常实用,比如用户注册、年龄验证等功能。下面将详细介绍如何...
Java根据生日计算年龄算法 不满一年计算月份 不满一月计算天数
SQLServer 根据生日计算年龄
### SQL 根据生日计算年龄 #### 知识点概览 本文将详细介绍如何在 SQL 中根据出生日期来计算年龄。此方法适用于多种 SQL 数据库系统,并提供了足够的灵活性供用户根据自身需求进行调整。 #### 核心代码解析 在...
功能:根据生日计算年龄 输入:datNow日期型,当前日期 datBir日期型,生日日期 输出:文本,内容类似“6岁10个月23天,计 2518天”这个样子 说明:润月情况未考虑好,请大家讨论。如2007-2-28至2008-2...
以上两种方法均可以实现根据生日计算年龄的功能。第一种方法利用了Unix时间戳的方式,计算更为精确,第二种方法则更为简洁明了。在实际使用时,可以根据具体需求选择适合的方法。这些技巧对于PHP程序设计来说都是...
sql函数 可用于pb调用,根据生日日期,自动精确计算年龄。返回格式为xx岁xx月xx天 不受闰年影响
在本教程中,我们将深入探讨如何使用 Delphi 的日期函数来计算年龄。 首先,我们需要获取用户的出生日期。这通常是从数据库、用户输入或其他数据源获取的。假设我们已经有了一个 `TDate` 类型的变量 `BirthDate` ...
生日计算年龄 不满一年计算月份 不满一月计算天数
powerbuilder技术开发,根据转入生日,自动计算年龄。
这里,我们将探讨如何使用C#语言根据员工的生日来动态地计算他们的年龄,并提供一个可运行的代码示例。首先,我们需要了解日期和时间处理是C#中的一个核心概念,它通过`DateTime`类来实现。 `DateTime`类提供了丰富...
接下来看如何根据生日计算年龄。`GetAgeByBrithday`函数就是用来实现这个功能的。它首先声明了一个变量`age`并初始化为-1,这是为了在以下情况中返回一个明确的年龄计算失败信息:输入的生日字符串无法被成功转换为...
1、支持18、16位身份证号码,支持2、4、6、8位生日格式(例:88,1988,198804,19880409); 2、周岁:计算日期-出生日期,不满的一年舍掉。虚岁计算日期的年份-出生日期的年份+1. 3、最小年龄和最大年龄用来设置输出...
8. **计算年龄:** 通过当前日期与用户生日日期对象的年份相减,可以计算出用户的年龄。使用`new Date().getFullYear()`获取当前的年份。 9. **jQuery的`.append()`方法:** 用于将生成的字符串结果添加到HTML页面...
在计算年龄时,首先假设当前年份比出生年份大1(因为年龄是到今年为止的完整年数),然后根据当前的月份和日期进行调整。如果出生年份大于等于当前年份,说明还未过生日,年龄应为0。如果当前月份大于出生月份,或者...
本文主要探讨了四种不同的方法来通过生日字段计算年龄,并且针对这些方法进行了优化和比较。 首先,我们来看第一种方法,它使用了多个内置函数和运算符: ```sql SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_...
升级版DateUtil.java 得到几天后的date,根据农历生日计算出年龄,判断当前时间是否在[startTime, endTime]区间,注意时间格式要一致
在PHP编程语言中,计算年龄和生日倒计时是一项常见的任务,这主要涉及到日期和时间的处理。在本文中,我们将深入探讨如何使用PHP来实现这个功能,以及相关的日期时间函数。 首先,让我们理解计算年龄的基本原理。...