📌

満年齢(築年数)の計算方法

2023/05/14に公開

計算式

満年齢(築年数)は、以下の計算式で求められる。

yyyymmdd - yyyymmdd / 10000

コード例

public function ageOfABuilding()
{
    $building_date = $this->year.sprintf('%02d', $this->month)."01";
    $age = floor((date('Ymd') - $building_date)/10000);

    if($age < 0) return $build_year."年 完成予定";
    if($age == 0) return " 築1年未満";
    if($age > 0) return " 築".$age."年";
}

解説

例えば2002年5月15日生まれで、今日が2023年5月14日とすると、

( 20230514 - 20000315 ) / 10000 = 20.9999となり、

floor()で小数点以下切り捨てになるので『満20歳』となる。

未来の日付の場合は結果がマイナスになるため$age < 0

1年未満の場合は結果がゼロになるため$age === 0となる。

Discussion