PHPで生年月日を0埋めして年齢計算をする方法

PHP

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...

 

コメント