• ベストアンサー

年齢の計算方法

みなさん、初めまして。 現在、PHP&MySQLで個人情報を登録できるサイトを 勉強を兼ねて作っています。 そこで、個人情報を閲覧する際に、登録された生年月日 から現在の満年齢を計算し表示できるようにしたい のですが、どうすればうまくできるのでしょうか? 生年月日はDATE型で2000-01-01のように登録されています。 できればロジックだけでなく、具体的なサンプルコード などがあれば大変助かります。 どうか宜しくお願いいたします。

  • PHP
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.1

関数化しましょう function culc_age($birthday) { list($y,$m,$d)=implode("-",$birthday); //一応エラーチャック if(checkdate($m,$d,$y)==false) { die; } $age=date("Y")-$y; //もう今年の誕生日が過ぎているかのチェック $today=mktime(0,0,0,date("n"),date("j"),date("Y")); $tan=mktime(0,0,0,$m,$d,date("Y")); //過ぎていれば、今年-生年、そうでなければ更に1を引く $age=($today>$tan)?data("Y")-$y:$data("Y")-$y-1; return $age; }

その他の回答 (1)

  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.2

間違えました(^^; inplode → explode です。

cartman
質問者

お礼

お礼が遅くなりまして申し訳ありません。 ご丁寧にありがとうございました。 おかげ様で無事解決致しました。 また何かありましたら宜しくお願いします。

関連するQ&A

  • エクセルで年齢計算したいんですが、教えてください。

    エクセルで作業をしています。 年齢計算を関数を使ってやりたいんですが、わかりません。誕生日などの日にちをシリアル値にしてから計算したいんですが、どんな関数がありますか?どなたか教えてくださいませ。 生年月日を入力し、2008.10.1現在の満年齢を計算する関数です。いい方法ありますでしょうか?

  • 年齢計算

    年齢計算で ある顧客管理ソフトの生年月日データを 複写しての満年齢関数では正解になりません。  なぜでしょうか? サンプルで 手動で作ったデータでは 正解になるのですが。   (1)管理ソフトのデータは何か加工されているのでしょうか? 1900年00月00日 の答えばかりです。 識者様教えて頂けませんでしょうか?

  • ファイルメーカーの計算式の追加を反映させるには?

    表題のとおりなのですが、 ファイルメーカー4.1v1を使用しておりまして、 生年月日から満年齢を計算する式を追加しました。 (もともと、生年月日は入力済みです) その満年齢を表示させるフィールドに、全レコード 一斉に現在の年齢を表示させたいのですが、いまひとつ やり方が分からず困っています。 お分かりの方いらっしゃいましたら、お教えいただけ ないでしょうか? 宜しくお願いします。

  • 生年月日と今日の日付から年齢を取得するロジック

    お世話になります 生年月日 :19750401 本日の日付:20021009 の二つの情報(19750401と20021009)より年齢を取得する必要に迫られているのですが、どのようなロジックで取得できるでしょうか? 西暦同士を単純に引くだけでは正確な値ではないと思うのですが。。。 宜しくお願いします。

    • ベストアンサー
    • Java
  • excelの関数を使って、生年月日を入力すると現在の年齢が表示されるようにしたい。

    excelを使って、名簿を作成しています。 生年月日を入力すれば、現在の満年齢が表示されるようにしたいのですが、 どうすればよいですか? 手順を追って教えていただけると助かります。

  • ファイルメーカープロ8で生年月日から年齢を自動計算させたい

    ファイルメーカープロ8を使用してます。 生年月日の項目を作り、今日現在の日付から今日現在の年齢を自動計算で出したいと思っています。 過去の質問を検索したところ、同様の質問があったのですが、バージョンが違うのが原因なのかうまくいきませんでした。 教えて頂ければ大変嬉しいです。 どうぞ宜しくお願いいたします。

  • この場合いつの年齢を書けば??

    こんにちは。 エントリーシートの端に、「2007年4月1日現在」と書いてあります。 生年月日には(満○○歳)と書く欄があります。 私が3月生まれなのでややこしいのですが、 4月1日の時点では21歳、 エントリーシートを送る時点ではまだ20歳なんです。 「4月1日現在」、とエントリーシートに書いてあるのであれば、 エントリーシートを提出する時期に関わらず、4月1日の時点での年齢(つまり21歳)を書けばいいのでしょうか? よくわからないので教えてください。 よろしくお願いします!

  • mysqlで15分きざみで現在時刻をinsert

    現在15分単位で時刻をデータベースに追加するプログラムをVB.net で作っています。 使っているデータベースはmysqlです。 例えば19:38のときは 19:45とinsertされるようにしたいです 私の考えた計算式では19:00 + (38 - (38 mod 15) +15) mysql文では select date_format(now(),'%i')-(now(),'%i') mod 15; なのですがコードがうまくいきません。 他にやりやすい計算式、他ソースのサンプルある場所を教えていただけたらありがたいです

  • 生年月日で占い、計算式、わかりますか?

    生年月日をフォームで入力してその値を計算式にした結果をボタンを押すと、小さい画面で答えてくれるものを作りたいのですが・・・いろいろ探した結果HTMLのサンプルなどが発見できたのですが、どこが計算式なのか?HTMLの知識がなくて困っています。自分流に作りたいのですが、HTMLの説明があるサンプルなどはあるでしょうか?また、マトリックスというのもありましたが、そっちの方が良いのでしょうか?小さい画面(なんていうかわかりません)の方が簡単そうなので、できればそっちのほうで質問したいです。 それと、別の質問ですが、ブログはヤフーに登録(カテゴリ)するのは無理なのでしょうか? 分かる方教えて下さい。

  • 社員情報の閲覧

    上司に以下のような社員情報の閲覧できるWEBシステムを作るよう言われました。(もちろん社内のみ) ログイン機能はありますが、社員であれば誰でもログイン可能で、他社員の情報も閲覧できてしまいます。 生年月日とか血液型とか、そういうのもあるのですが問題はないのでしょうか? 社員コード 部署名 内線番号 携帯番号 生年月日 血液型 出身 趣味 好きな食べ物

専門家に質問してみよう