如何用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
提交
取消
