2010-08-31 17:24:32
posted by shop-gothic-gunar
年齢の計算方法
テーマ:プログラム
久しぶりにプログラムに関する日記。
年齢をプログラム内で算出する時、
一般的には以下のような方法で計算します。
年齢 = 現在月日 < 誕生月日 ? 現在年 - 誕生年 - 1 : 現在年 - 誕生年;
現在月日が誕生月日より過去であれば
年齢=現在年-誕生年-1
それ以外であれば
年齢=現在年-誕生年
という方法を使いますが
ネットで調べてみると面白い方法がありました。
$now_date = 20100831;
$birthday = 19850101;
$age = (int)(($now_date - $birthday)/10000);
年齢=(現在年月日YYYYMMDD-誕生日YYYYMMDD)を10000で割る法則。
この場合、
20100831 - 19850101 = 250730
250730 / 10000 = 25.0730
整数(int)にキャストしているので、小数点以下は切捨てになります。
∴25歳
これは別にプログラムでなくとも計算機があれば出せますので、是非お試しください。
年齢=(現在年月日-誕生年月日)/ 10000 の小数点切捨てデス。
年齢をプログラム内で算出する時、
一般的には以下のような方法で計算します。
年齢 = 現在月日 < 誕生月日 ? 現在年 - 誕生年 - 1 : 現在年 - 誕生年;
現在月日が誕生月日より過去であれば
年齢=現在年-誕生年-1
それ以外であれば
年齢=現在年-誕生年
という方法を使いますが
ネットで調べてみると面白い方法がありました。
$now_date = 20100831;
$birthday = 19850101;
$age = (int)(($now_date - $birthday)/10000);
年齢=(現在年月日YYYYMMDD-誕生日YYYYMMDD)を10000で割る法則。
この場合、
20100831 - 19850101 = 250730
250730 / 10000 = 25.0730
整数(int)にキャストしているので、小数点以下は切捨てになります。
∴25歳
これは別にプログラムでなくとも計算機があれば出せますので、是非お試しください。
年齢=(現在年月日-誕生年月日)/ 10000 の小数点切捨てデス。