`
jy00509336
  • 浏览: 243603 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

根据生日计算年龄

 
阅读更多

原帖:这里

 

根据自己需要改了改。
 

根据生日计算年龄可以通过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

    ### 根据生日计算年龄的JavaScript方法 在日常开发中,我们经常需要处理与日期相关的逻辑,例如根据用户的出生日期来计算其年龄。这在很多应用场景下都非常实用,比如用户注册、年龄验证等功能。下面将详细介绍如何...

    Java根据生日计算年龄算法

    Java根据生日计算年龄算法 不满一年计算月份 不满一月计算天数

    SQLServer 根据生日计算年龄

    SQLServer 根据生日计算年龄

    SQL 根据生日计算年龄

    ### SQL 根据生日计算年龄 #### 知识点概览 本文将详细介绍如何在 SQL 中根据出生日期来计算年龄。此方法适用于多种 SQL 数据库系统,并提供了足够的灵活性供用户根据自身需求进行调整。 #### 核心代码解析 在...

    根据生日计算年龄的VB代码

    功能:根据生日计算年龄 输入:datNow日期型,当前日期 datBir日期型,生日日期 输出:文本,内容类似“6岁10个月23天,计 2518天”这个样子 说明:润月情况未考虑好,请大家讨论。如2007-2-28至2008-2...

    php根据生日计算年龄的方法

    以上两种方法均可以实现根据生日计算年龄的功能。第一种方法利用了Unix时间戳的方式,计算更为精确,第二种方法则更为简洁明了。在实际使用时,可以根据具体需求选择适合的方法。这些技巧对于PHP程序设计来说都是...

    SQL函数 根据出生日期精确计算年龄

    sql函数 可用于pb调用,根据生日日期,自动精确计算年龄。返回格式为xx岁xx月xx天 不受闰年影响

    delphi 通过日期计算年龄

    在本教程中,我们将深入探讨如何使用 Delphi 的日期函数来计算年龄。 首先,我们需要获取用户的出生日期。这通常是从数据库、用户输入或其他数据源获取的。假设我们已经有了一个 `TDate` 类型的变量 `BirthDate` ...

    根据生日获取年龄算法

    生日计算年龄 不满一年计算月份 不满一月计算天数

    PB计算年龄函数

    powerbuilder技术开发,根据转入生日,自动计算年龄。

    c#根据生日自动计算员工的年龄

    这里,我们将探讨如何使用C#语言根据员工的生日来动态地计算他们的年龄,并提供一个可运行的代码示例。首先,我们需要了解日期和时间处理是C#中的一个核心概念,它通过`DateTime`类来实现。 `DateTime`类提供了丰富...

    JS根据生日算年龄的方法

    接下来看如何根据生日计算年龄。`GetAgeByBrithday`函数就是用来实现这个功能的。它首先声明了一个变量`age`并初始化为-1,这是为了在以下情况中返回一个明确的年龄计算失败信息:输入的生日字符串无法被成功转换为...

    QT身份证、生日计算年龄(包含源代码)

    1、支持18、16位身份证号码,支持2、4、6、8位生日格式(例:88,1988,198804,19880409); 2、周岁:计算日期-出生日期,不满的一年舍掉。虚岁计算日期的年份-出生日期的年份+1. 3、最小年龄和最大年龄用来设置输出...

    jQuery实现根据生日计算年龄 星座 生肖

    8. **计算年龄:** 通过当前日期与用户生日日期对象的年份相减,可以计算出用户的年龄。使用`new Date().getFullYear()`获取当前的年份。 9. **jQuery的`.append()`方法:** 用于将生成的字符串结果添加到HTML页面...

    PHP常用函数之根据生日计算年龄功能示例

    在计算年龄时,首先假设当前年份比出生年份大1(因为年龄是到今年为止的完整年数),然后根据当前的月份和日期进行调整。如果出生年份大于等于当前年份,说明还未过生日,年龄应为0。如果当前月份大于出生月份,或者...

    Mysql中通过生日计算年龄的多种方法

    本文主要探讨了四种不同的方法来通过生日字段计算年龄,并且针对这些方法进行了优化和比较。 首先,我们来看第一种方法,它使用了多个内置函数和运算符: ```sql SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_...

    升级版DateUtil.java(得到几天后的date,根据农历生日计算出年龄)

    升级版DateUtil.java 得到几天后的date,根据农历生日计算出年龄,判断当前时间是否在[startTime, endTime]区间,注意时间格式要一致

    php 计算年龄跟生日倒计时

    在PHP编程语言中,计算年龄和生日倒计时是一项常见的任务,这主要涉及到日期和时间的处理。在本文中,我们将深入探讨如何使用PHP来实现这个功能,以及相关的日期时间函数。 首先,让我们理解计算年龄的基本原理。...

Global site tag (gtag.js) - Google Analytics