[PHP] date関数の時間(TimeZone)がずれる

投稿


date関数が返す時間のTimeZoneを設定するには、”php.ini”の「date.timezone」の値を設定する。
日本時間にするには…

date.timezone = Asia/Tokyo

と、変更する。(ない場合は、追加する)
 
 
で、Webアクセスログ取りプログラム内でdate関数を使っていたのですが、
自分が独自に作ったページと、WordPress上で動かしてみると、時間がずれているのに気づきました。
これは、WordPressではdate.timezoneがUTC(協定世界時)に設定されているためです。
なので、ログ取りの部分だけ、date.timezoneを変更することにします。
 
 
プログラム内で動的にdate.timezoneを変更したい場合は、date_default_timezone_setを使う。

// TimeZoneを日本時間に設定する
$org_timezone = date_default_timezone_get();
date_default_timezone_set('Asia/Tokyo');

// date関数を使う
echo(date('Y/m/d H:i:s'));

// TimeZoneを元に戻す
date_default_timezone_set($org_timezone);