重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

どうも日時の取得についてよく理解できません。私のパソコンの時間の取得方法、そうでないものの表記の方法を、またその違いについてどなたかご教授願います。

date関数は「現在のローカル時間が返されます」ということですが、自分のPCの時刻設定が反映されるということでしょうか?

また以下の場合の$nowにはいったいどこの時間がはいるのでしょうか?
$now = date("U" ,time());

非常に初心者的な質問ですいません。初心者なので^^

A 回答 (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 "期限切れ";
}

で問題はありません。
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/10/27 12:24

>自分のPCの時刻設定が反映されるということでしょうか?



date関数自体は、PHPが動いているサーバーの時間が取得されます。プロバイダ等のサーバーを使っていれば、そちらの時間です。
ローカルというのは、そのサーバーを置いている地域のローカル時間ということです。日本にあればGMT+9(グリニッジ時間より9時間進んでいる)です。

ブラウザを動かしているパソコンの時間ではありません(自分のパソコンでPHPを動かしているのであれば、もちろん自分のパソコンになります)。
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/10/27 12:20

> date関数は「現在のローカル時間が返されます」ということですが、自分のPCの時刻設定が反映されるということでしょうか?


そう考えていいと思います。

> $now = date("U" ,time());
入ってくるのは、グリニッチ標準時1970年1月1日0時から現在時刻までの秒数です。time()と同じですが、文字列型で格納されます。

参考URL:http://en.wikipedia.org/wiki/Unix_epoch

この回答への補足

ご解答ありがとうございます^^
ローカル時間というのは自分のPCの時刻というのが分かりました。
しかし、同じdate()関数で、date("U")とうのはローカルの時間ではないといことでしょうか?

例えば日付の期限を設けてWEB上で処理する場合として

$now = date("U" ,time());
$limit = mktime(0,0,0,10,31,2004);
if($now > $limit){
echo "期限切れ";
}

これで問題はないのでしょうか?

補足日時:2004/10/24 16:55
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!