[PHP-users 24690] mktime の返値について

Masaki Naokawa nao_com21 @ tbg.t-com.ne.jp
2005年 2月 23日 (水) 23:04:07 JST


初めまして naokawa と申します。

mktime の返値についてご教授ください。

環境
  VineLinux : 2.6
  PHP         : 4.2.1
  Apache     : 1.3.24

以下のようなコードを作成して実行しました。

  print mktime(0,0,0, 1, 1, 1970);
  print mktime(0,0,0, 1, 1, 1970, 0);
  print mktime(0,0,0, 1, 1, 1970, 1);

  [結果]
  いずれも  -32400 となります

結果として 0 が返ると思っていたのですが、
-9時間(32400)ずれた結果となります。
#現在の時間を指定しても9時間ずれます。

これは、仕様なのでしょうか。
インストール時のオプションやphp.iniの設定ファイルなどで
変更することはできるのでしょうか。

これは、グリニッジ標準時で計算されたために
起こった現象なのでしょうか。

[参考]
的外れかも知れませんが、端末上で
  % date; date -u
     Wed Feb 23 22:24:07 JST 2005
     Wed Feb 23 13:24:07 UTC 2005   ← この9時間?

PostgreSQL(7.3.0)で
   SELECT EXTRACT(EPOCH FROM TIMESTAMP '1970-1-1');

   期待通りの 0 となります。

PostgreSQL で取得した日付データの UNIXタイムスタンプと 、
今日の日付のUNIXタイムスタンプをPHPで取得して、
日数などの計算をしようと考えていましたが、9時間のずれがでることに気づきまし
た。

------------------------
 Masaki Naokawa





PHP-users メーリングリストの案内