📌
満年齢(築年数)の計算方法
計算式
満年齢(築年数)は、以下の計算式で求められる。
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