My開発メモ

誕生日から年齢を求める (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)
}
*/

参考

カテゴリー: memo, php

タグ: age, birthday, date_diff, DateTime, 年齢を求める, 誕生日

カウント: 78