当前位置: 首页 > 面试题库 >

如何计算Java中某人的年龄?

段干兴业
2023-03-14
问题内容

我想以Java方法的整数形式返回年龄(以年为单位)。我现在所拥有的是getBirthDate()返回Date对象(带有出生日期;的以下内容:

public int getAge() {
    long ageInMillis = new Date().getTime() - getBirthDate().getTime();

    Date age = new Date(ageInMillis);

    return age.getYear();
}

但是由于不赞成使用getYear(),所以我想知道是否有更好的方法可以做到这一点?我什至不确定这是否能正常工作,因为我还没有进行单元测试。


问题答案:

JDK 8使这个变得轻松而优雅:

public class AgeCalculator {

    public static int calculateAge(LocalDate birthDate, LocalDate currentDate) {
        if ((birthDate != null) && (currentDate != null)) {
            return Period.between(birthDate, currentDate).getYears();
        } else {
            return 0;
        }
    }
}

一个JUnit测试以证明其用法:

public class AgeCalculatorTest {

    @Test
    public void testCalculateAge_Success() {
        // setup
        LocalDate birthDate = LocalDate.of(1961, 5, 17);
        // exercise
        int actual = AgeCalculator.calculateAge(birthDate, LocalDate.of(2016, 7, 12));
        // assert
        Assert.assertEquals(55, actual);
    }
}

现在每个人都应该使用JDK 8。所有较早的版本都已终止其支持寿命。



 类似资料:
  • 键入结束年度:2013 2008年是闰年 2012年是闰年 非常感谢您的回复!帮助我学到了比我的讲师实际教的更多的东西:)

  • 本文向大家介绍JavaScript简单计算人的年龄示例,包括了JavaScript简单计算人的年龄示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript简单计算人的年龄的方法。分享给大家供大家参考,具体如下: 注意Date()类型转换,否则会出现NaN的错误 birth为yyyy-mm-dd的日期格式 完整示例代码如下: 运行结果为:29 PS:这里再为大家推荐几款时间及

  • 问题内容: 在SQL Server数据库中,我记录了人们的出生日期。是否有仅使用SQL来计算给定日期的人的年龄的简单方法? 使用 DATEDIFF(YEAR,DateOfBirth,GETDATE()) 不起作用,因为它仅查看日期的年份部分。例如 DATEDIFF(YEAR,‘2007年12月31日’,‘2008年1月1日’) 返回1。 问题答案: 查看本文:如何使用SQL代码计算一个人的年龄 这

  • 问题内容: 这是家庭作业,我已经获得了成绩,但是我没有在代码中实现leap年。这是一个简单的程序,可以根据用户输入显示一个月内的数字。我唯一不知道的是一种实现implement年的方法,这种writing年将在2月获得29天而不是28天,而无需编写多条语句。当然有更简单的方法吗?这是代码: 问题答案: 如果使用,则可以执行以下操作 确定给定年份是否为is年。如果给定的年份是a年,则返回true。要

  • 根据一段代码,我在PyCharm中有这个输出 我编写代码,然后将csv文件中的列birthdate转换为datetime对象: 然后我编写一个函数来创建并返回出生日期的年龄 从代码中,我在PyCharm控制台中有这个输出 预期的输出是一个带有年龄的列,应该添加到数据帧中

  • 我正在学习Java的OOP,我要比较两个对象之间的年龄: 在Java程序方面,我会做: 然后 我不明白如何在OOP中创建我的calculateDifferenceAge()方法? 在我的主文件中我有这样的内容: 我坚持我的两种方法: 如何减去2个对象的年龄? 类播放器