[PHP-users 3958] Re: 現在から何年経っているかを調べるには

Osamu Shigematsu php-users@php.gr.jp
Wed, 28 Nov 2001 18:00:25 +0900


重松です。

> 現在Apache1.3.20 + PHP4.0.6 + postgreSQL7.13で開発中ですが
> データーベースに登録した日付から現在まで何年経っているかを調べたいのですが。
> 現在の日付と登録したデータとの比較がよくわかりません。

Postgres に計算してもらってもいいですし、PHP で計算してもいいと思うんですけ
ど、ある日付から今までの経過時間は、

DB=# SELECT CURRENT_DATE - '1971-08-17' AS ELAPSED_DAYS;
 elapsed_days
--------------
        11061
(1 row)

ってな感じですけね。

アバウトで良ければ、365.25 ででも割るとか。
# 美しくなさ過ぎ。。。;-P

これって要するに年齢の計算なので、

function to_age($dob){
    $y = date('Y') - date('Y',$dob);
    $m = date('m') - date('m',$dob);
    $d = date('d') - date('d',$dob);

    if($m)
        return $y - $m < 0;
    else
        return $y - $d < 0;
}

ってな感じでもよろしいのではないかと。

# 沢山フォローが付きそうな予感。

-- 
Osamu Shigematsu

http://www.ravi.ne.jp/%7eshige/
mailto:shige@ravi.ne.jp