0埋めして年齢計算
基本のサンプル
参考リンクにあった年齢計算をする方法に、誕生日の0埋めのロジックを加えたものになります。
わかりやすい年齢の算出方法ですね!
// 誕生日(例) $birthday = "1990/2/2"; // 現在時刻 $now = date("Ymd"); $birthday = explode("/", $birthday); $birthday = $birthday[0] . str_pad($birthday[1], 2, '0', STR_PAD_LEFT) . str_pad($birthday[2], 2, '0', STR_PAD_LEFT); $age = floor(($now-$birthday)/10000); // 結果を表示 var_dump($age);
実行結果
2019/05/05にこのプログラムを実行しましたので、29歳となりました。
float(29)
カスタマイズしたサンプル
基本のサンプルで紹介した参考リンクから拾ってきたものだと、非常に冗長になっており無駄が多いため無駄を省いたものを作成しました。
月日四桁を小数にし、引き算した結果の小数以下を切り捨てます。
10000で割った状態で引き算をさせて小数切り捨てているということです。
やってる処理としては同じですが、こちらの方がスッキリしていて良いですね!
// 誕生日(例) $birthday = "1990/2/2"; $age = intval(date('Y.md') - date('Y.md', strtotime($birthday))); // 結果を表示 var_dump($age);
実行結果
2019/05/05にこのプログラムを実行しましたので、29歳となりました。
int(29)
参考リンク

PHPで生年月日から現在の年齢を算出する | ハックノート
例えば`$birthdate`という変数に`1990-10-30`などという形式で生年月日が収まっている場合以下の用にかきます。 ``` $now = date("Ymd"); $birthday = str_replace("-", "", $birthdate);//ハイフンを除去しています。 echo floor...
コメント