[PHP-users 24724] Re: mktime の返値について
Masaki Naokawa
nao_com21 @ tbg.t-com.ne.jp
2005年 2月 26日 (土) 00:41:08 JST
naokawa@質問者です。
野本様、ご返答ありがとうございます。
> >ただ、mktime の場合は JST など locale に基づいた
> >処理をすると思っていました。
> >実際は以下の処理となっている?
> > mktime UTC ← これで9時間のずれが生じる
> > gmmktime UTC
>
> time値はロケールに関係なくgmtみたいです。
> date('Y/m/d h:i:s', 0) => 1970/01/01 09:00:00
> ですからJSTの 1970/01/01 00:00:00 のtime値は0ではないですね。
>
> localeてのはtime値が変わるのではなく、それを読み替える側が
> ずれるものだと。
最初は思い込みで以下のような処理をしていると考えていました。
mktime の場合は、 内部的に基準となるJSTの値を保持(生成)していて、
引数に設定された値を JST と解釈。
内部的な値と引数に指定した値の差分を求めて、結果を出力していると考えていまし
た。
当然,、JSTとJSTの差分なので 1970/1/1 は、 0 が返る。
実際の処理で比較しているかはわかりませんが、
説明にあるように time値(gmt)を用いているための結果だったのですね。
納得しました。ありがとうございます。
-------------------------------------
Masaki Naokawa
PHP-users メーリングリストの案内