PHP にて時刻を日本時間に合わせる

例えば echo date('Y-m-d H:i:s') をすると、
サーバーの /etc/php.ini の設定によるけど、
タイムゾーンの設定がされてなければ UTC 基準で表示される。
日本との時差が 9 時間になっている。

これを日本時間にしたい時は、
/etc/php.ini で設定するか、プロジェクト毎に設定する必要がある。

php.ini で設定する

$ vi /etc/php.ini

php.ini

  • 編集したら php を再起動
;date.timezone =
date.timezone = "Asia/Tokyo"

プロジェクト毎に設定する

var_dump(date_default_timezone_get()); // "UTC"
var_dump(date('Y-m-d H:i:s')); // "2019-11-05 00:00:00"

date_default_timezone_set('Asia/Tokyo');

var_dump(date_default_timezone_get()); // "Asia/Tokyo"
var_dump(date('Y-m-d H:i:s')); // "2019-11-05 09:00:00"