2008年09月17日

誕生日から年齢を計算

今日は、誕生日から年齢を計算するプログラムを作成しました。

そんな大したプログラムでは無いですがメモメモ。


今回はJavaで作成しましましたが
その他の言語でも汎用的に使えるようですね。


まずは今日の日付と誕生日をyyyymmdd形式にします。
(yyyyは年、mmは月、ddは日)

今日の日付から誕生日の日付を引いて、10000で割るだけです。

例題:
今日 2008年9月17日
誕生日 1985年4月13日

(20080917 - 19850413) / 10000 = 23.0503

となります。もしもMySQLのテーブル(BirthDay)に誕生日のデータが
年(Year)、月(Month)、日(Day)と別々に格納されている場合には

select ((CURDATE() - 1) - (Year * 10000 + Month * 100 + Day)) / 10000 from
BirthDay;

で、年齢を取り出すことができます。
「CURDATE() - 1」で、今日の日付をyyyymmdd形式で取得できます。


この式のことは全然知りませんでした。
なので、java.util.Calendarを使って
今日の日付から誕生日の日付を引いて
365で割ったり閏年を考えたりと
めちゃくちゃ無駄なことをするところでした。

こんな簡単なことを知らないなんて
勉強不足ですorz


ただ、場合によってはこの計算式を
そのまま使えない場合もあるようなので
気をつけてください。

http://d.hatena.ne.jp/alittlething/20070827/p1
posted by 夏ミカン at 13:23| 沖縄 ☔| Comment(4) | TrackBack(1) | Java | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
初めまして^-^
ブログに遊びに来てくれて
凄く嬉しいです!!
有難う御座います^^

今年から社会人なんですね、
SEやってらっしゃるなんてステキですよ!w

Javaをやってるんですか!
自分は全くJavaに詳しくないもんで…
もっと勉強しなきゃ!
Posted by na-toi at 2008年09月18日 16:25
→na-toiさん
こちらこそ遊びに来てくれて
ありがとうございます!
今年から社会人、SEになって日々苦労してます。。
でもna-toiさんみたいに若い人が頑張っているのを見ると
「自分も負けてられない!頑張らなきゃ!」
とやる気を出させてもらってます。
お互いに日々勉強がんばりましょうね!
Posted by 夏ミカン at 2008年09月19日 17:21
あ!ネタががぶってる。
すっごい偶然ですねー。

そのままつかえないときもあるんですね。
気をつけないと。
Posted by at 2008年09月21日 21:45
→葵さん
見事にかぶってますね!
データベースの日付から、年齢を
計算するプログラムが必要になったので
今回この記事を書きました。
1ヶ月ずれただけで大変!というシステムでは
使えないようで、普通にただ年齢を取得する分には
問題無いようなので、普通に使う分には大丈夫だと思いますよー。
Posted by 夏ミカン at 2008年09月22日 11:15
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック

東京都 - 確実☆即決せフレ案内所
Excerpt: 登録からお相手検索、待ち合わせまで全てをこのサイトでチェック!
Weblog: 東京都 - 確実☆即決せフレ案内所
Tracked: 2014-04-27 14:18
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。