PHPのdate関数、希望の日付や時間をフォーマットを指定するだけで取得することができる便利なクラスです。

そんなdate関数を利用していたのですが、サーバを引っ越しして、同じスクリプトを動かしてみたところエラーが発生してしまいました。。。

エラーはこんな内容です。

<br />Strict Standards: date() [function.date]: It is not safe to rely on the systems timezone settings, please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. We now use 'Asia/Tokyo' for 'JST' in<br />

調べてみると、どうやらPHP5.1以降ではdate関数を利用する時にはタイムゾーンを設定する必要があるそうです。

前のサーバのPHPは5.3だったのですが、なぜうまく動いていたのかというと、サーバ会社のほうでphp.iniにタイムゾーンをデフォルトで設定してくれていたからでした。

タイムゾーンの設定方法

タイムゾーンの設定方法は以下のとおりです。

スクリプト内で設定する場合はdate関数を使う前に以下の1行を実行してください。

<br />date_default_timezone_set('Asia/Tokyo');<br />

php.iniで設定する場合は、以下の1行を書き加えておいてください。

<br />date.timezone = Asia/Tokyo<br />

サーバを引っ越しても動作してくれるプログラム作りを心がけたいものです。

本日は以上です。