年齢を計算する単純な方法は、現在の年から生まれた年を引くことです。しかし、このアプローチは今年まだ誕生日が来ていない人にとっては間違った結果になります——そして日本では、この「成人になる年齢」そのものが2022年に大きく変わりました。
単純な年の引き算が間違える理由
誰かが1990年12月15日に生まれ、今日が2024年1月1日だとすると、単純な計算2024 - 1990は34歳を出します——実際にはその人が34歳になるのはほぼ1年後です。正確な計算では、単なる年の差だけでなく、今年の誕生日がすでに来ているかどうかを確認する必要があります。
正しいアルゴリズム
まず年の差を計算し、次に誕生月と日を現在の月と日と比較します。今年の誕生日がまだ来ていない場合(月が早いか、月が同じでも日が早い場合)、結果から1を引きます。
特殊なケースとしての2月29日
2月29日生まれの人については、うるう年でない年の誕生日は2月28日または3月1日とみなされるのが一般的です——年齢計算コードを書く際によく見落とされるエッジケースの1つです。
なぜこれが必要か
- 成年年齢(18歳)の確認が必要な登録フォームで年齢を正確に計算する。
- 自分のコードがエッジケース(2月29日、今日が誕生日)を正しく処理しているか確認する。
- 生年月日から年、月、日単位の正確な年齢をすばやく取得する。
2022年、成人年齢が20歳から18歳に引き下げられた
2022年4月1日に施行された改正民法により、日本の成人年齢は明治時代から続いた20歳から18歳に引き下げられました。この日、2004年4月2日から2005年4月1日生まれの人たちは、法律上一斉に成人として扱われるようになりました——生年月日は誰も変わっていないのに、同じ誕生日が指し示す「成人かどうか」の答えが法改正の瞬間に変わった、珍しい例です。