• ベストアンサー

date関数を教えてください

どうも日時の取得についてよく理解できません。私のパソコンの時間の取得方法、そうでないものの表記の方法を、またその違いについてどなたかご教授願います。 date関数は「現在のローカル時間が返されます」ということですが、自分のPCの時刻設定が反映されるということでしょうか? また以下の場合の$nowにはいったいどこの時間がはいるのでしょうか? $now = date("U" ,time()); 非常に初心者的な質問ですいません。初心者なので^^

質問者が選んだベストアンサー

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.3

date("U") はローカルの時間(動作しているサーバの時間)を取得します。 自分のPCでPHPを動かしている場合には自分のPCの1970年1月1日0時0分0秒からの秒数が入ります。 $now = date("U" ,time()); $date = date("Y-m-d H:i:s",$now); とすると $data にはローカル時間が入ります。 $now = date("U" ,time()); $limit = mktime(0,0,0,10,31,2004); if($now > $limit){ echo "期限切れ"; } で問題はありません。

agawa090
質問者

お礼

ご解答ありがとうございます。サーバーの時間と自分のパソコンの時間の関係がやっと分かりました^^私の場合は、レンタルサーバー上でPHPを処理しているので、そのレンタルサーバーがローカルというわけですね。ソースのご説明もありがとうございます。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • taba
  • ベストアンサー率61% (349/567)
回答No.2

>自分のPCの時刻設定が反映されるということでしょうか? date関数自体は、PHPが動いているサーバーの時間が取得されます。プロバイダ等のサーバーを使っていれば、そちらの時間です。 ローカルというのは、そのサーバーを置いている地域のローカル時間ということです。日本にあればGMT+9(グリニッジ時間より9時間進んでいる)です。 ブラウザを動かしているパソコンの時間ではありません(自分のパソコンでPHPを動かしているのであれば、もちろん自分のパソコンになります)。

agawa090
質問者

お礼

ご解答ありがとうございます。なるほどdate関数はサーバーの時間なのですね。ようやくスッキリしました^^ありがとうございます!

すると、全ての回答が全文表示されます。
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

> date関数は「現在のローカル時間が返されます」ということですが、自分のPCの時刻設定が反映されるということでしょうか? そう考えていいと思います。 > $now = date("U" ,time()); 入ってくるのは、グリニッチ標準時1970年1月1日0時から現在時刻までの秒数です。time()と同じですが、文字列型で格納されます。

参考URL:
http://en.wikipedia.org/wiki/Unix_epoch
agawa090
質問者

補足

ご解答ありがとうございます^^ ローカル時間というのは自分のPCの時刻というのが分かりました。 しかし、同じdate()関数で、date("U")とうのはローカルの時間ではないといことでしょうか? 例えば日付の期限を設けてWEB上で処理する場合として $now = date("U" ,time()); $limit = mktime(0,0,0,10,31,2004); if($now > $limit){ echo "期限切れ"; } これで問題はないのでしょうか?

すると、全ての回答が全文表示されます。

関連するQ&A