[PHP-users 16771]Re: 日付・時間の四則演算について(初歩的)
Sugimura Masayuki
sugimura @ ksp.nis.nec.co.jp
2003年 7月 17日 (木) 11:34:35 JST
> 環境は、redhat7.3+php-4.1.2+postgresql-7.2.3です。
> pg_exec(pg_connect("","","test"),INSERT INTO(略)・・・(date("Y/m/d
> H:i:s")),(略)
> という感じで、PostgreSQLでtimestamp型で宣言した列に時間を取得してデータを放
> り込んでいます。
>
> このデータを後で、別のプログラムから取り出し、その時点での現在時刻と取り出し
> た時間との差を求めています。
> つまり、はじめに登録した時間から現在までの経過時間ですね。
>
> 今は、やり方がよくわからないので、取り出したデータを左から幾つ目が年で、その
> 次2桁が月で、その次が日で・・・
> という風に分解して、引き算しています。
> これは結構面倒で、例えば、現在の月が1月で、データベース内の月が12月の場合桁
> を送ったり、
> もうごちゃごちゃです。
SQL文でもできますよ。
test=# select CURRENT_TIMESTAMP - '2003/01/01 00:00:00' AS interval;
interval
------------------------------
197 days 11:21:00.1209050007
(1 row)
経過時間を秒で取り出す場合は、
test=# select EXTRACT(EPOCH FROM CURRENT_TIMESTAMP - '2003/01/01 00:00:00') AS "epoch from interval";
epoch from interval
---------------------
17061663.080436
(1 row)
--
Sugimura Masayuki sugimura @ ksp.nis.nec.co.jp
PHP-users メーリングリストの案内