PHPのdate_default_timezone_set関数でタイムゾーン設定
PHPでシステムを構築していたのですが、date()関数でエラーが・・・
具体的には、
echo date(“Y-m-d H:i:s”);
を実行して日時を出力すると、日本時間から9時間ずれてしまいます。
9時間ずれているという時点で、タイムゾーンの設定の問題ということは、何となく想像できますね。
まずは、
echo date_default_timezone_get();
を実行して、現在設定されているタイムゾーンを調べると、やはり「UTC」が返ってきました。
「UTC」ということは、タイムゾーンの設定自体を行っていない?ようです。
日本(東京)時間は「UTC(協定世界時
) + 9時間」のはずなので、これだと、日本時間と9時間のずれが生じてしまいますよね。
取り敢えず、php.iniをいじってタイムゾーンの設定を行おうと思ったのですが・・・
お客さんサーバなので、大元から変更するのは怖いです!!
ということで、
今回は、date_default_timezone_get()関数を使って設定してみることに。
if(date_default_timezone_get() != “Asia/Tokyo”){
date_default_timezone_set(“Asia/Tokyo”); //タイムゾーンを東京に設定
}
echo date(“Y-m-d H:i:s”);
上記のコードを追加してタイムゾーン「Asia/Tokyo」の設定を行い、日本時間を取得できるようにしました。
簡単ですね。
php.iniを直接編集するのもいいですが、大元の設定を行うのは出来れば避けたいですよね。
その場合には、date_default_timezone_set()関数を使ってタイムゾーンの設定を行ってみましょう。
