如何用Java计算某人的年龄?我想在Java方法中作为int返回一个以年为单位的年龄。下面是getBirthDate()返回日期对象(带有生日;-)的下面内容:public int getAge() {
long ageInMillis = new Date().getTime() - getBirthDate().getTime();
Date age = new Date(ageInMillis);
return age.getYear();}但是,既然getYear()被废弃了,我想知道是否有更好的方法来做到这一点?我甚至不确定这是否正确,因为我还没有进行单元测试。
3 回答
翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
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; } }}
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); }}
添加回答
举报
0/150
提交
取消