PHP

PHPのdate_default_timezone_set関数でタイムゾーン設定

PHPのdate_default_timezone_set関数でタイムゾーン設定

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()関数を使ってタイムゾーンの設定を行ってみましょう。

PHPでタイムゾーン(date.timezone)の設定エラー
PHPでタイムゾーン(date.timezone)の設定エラーPHPでタイムゾーン(date.timezone)の設定エラー PHPプログラムでこんなエラーが出ることはありませんか? ...