ホームページ > Java > &#&チュートリアル > LocalDate を使用して Java で年齢を正確に計算するにはどうすればよいですか?

LocalDate を使用して Java で年齢を正確に計算するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-19 16:48:14
オリジナル
602 人が閲覧しました

How Can I Accurately Calculate Age in Java Using LocalDate?

Java での年齢の計算: 総合ガイド

Java プログラミングの領域では、誰かの年齢を計算することが一般的なタスクとして発生することがあります。このニーズに対処するために、開発者は年齢を整数として返すための最適なアプローチに関するガイダンスを求めています。

現在の実装:

提供されたコードは Date オブジェクトと非推奨の get Year() メソッド:

public int getAge() {
    long ageInMillis = new Date().getTime() - getBirthDate().getTime();
    Date age = new Date(ageInMillis);
    return age.getYear();
}
ログイン後にコピー

強化アプローチ:

JDK 8 では LocalDate を使用した洗練されたソリューションが導入されています:

public static int calculateAge(LocalDate birthDate, LocalDate currentDate) {
    if ((birthDate != null) && (currentDate != null)) {
        return Period.between(birthDate, currentDate).getYears();
    } else {
        return 0;
    }
}
ログイン後にコピー

LocalDate を使用する利点:

  • 正確闰年和短月を処理するための計算
  • を回避しますDate オブジェクトとミリ秒に関連付けられた複雑さ
  • null 値の明示的な処理が容易になります

単体テストの例:

提案されたアプローチについては、次の JUnit を検討してください。 test:

public class AgeCalculatorTest {
    @Test
    public void testCalculateAge_Success() {
        LocalDate birthDate = LocalDate.of(1961, 5, 17);
        int actual = AgeCalculator.calculateAge(birthDate, LocalDate.of(2016, 7, 12));
        Assert.assertEquals(55, actual);
    }
}
ログイン後にコピー

古い JDK バージョンの非推奨:

JDK 8 より前のすべての Java バージョンはサポート終了に達していることに注意することが重要です。したがって、JDK 8 以降を採用することを強くお勧めします。

以上がLocalDate を使用して Java で年齢を正確に計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート