誕生日から年齢を求める (PHP)
誕生日から年齢を求める関数を作成した。
function calc_age($date) {
$diff = date_diff(date_create($date), date_create('today'));
return $diff->y;
}
$birthday = '1956-07-26';
$age = calc_age($birthday);
var_dump($age); // 68
メモ
date_create() は、DateTimeオブジェクトを生成する関数。
DateTimeオブジェクトについては、以下のように使う。
$now = new DateTime(); // 現在日時
echo $now->format('Y-m-d'); // 2024-08-03
date_diff() で生成され返されるオブジェクトは、以下のようになる。
$diff = date_diff(date_create("1985-06-01"), date_create('today'));
var_dump($diff);
/*
object(DateInterval)#3 (16) {
["y"] => int(39)
["m"] => int(2)
["d"] => int(2)
["h"] => int(0)
["i"] => int(0)
["s"] => int(0)
["f"] => float(0)
["weekday"] => int(0)
["weekday_behavior"] => int(0)
["first_last_day_of"] => int(0)
["invert"] => int(0)
["days"] => int(14308)
["special_type"] => int(0)
["special_amount"] => int(0)
["have_weekday_relative"] => int(0)
["have_special_relative"] => int(0)
}
*/
参考
- How to calculate Age from Date of Birth using PHP?
- 【PHP】DateTimeオブジェクトの使い方!日付操作や設定の仕方を徹底解説!
- date_create (PHP Manual)
カテゴリー: memo, php
タグ: age, birthday, date_diff, DateTime, 年齢を求める, 誕生日
カウント: 79