Web Artisan Blog - ウェブ アルチザン ブログ

date関数で”Asia/Tokyo・・”なんかのエラーが出る件:PHP5.1.0以降

PHP

2006年02月23日

Research Artisan Pro ←リサーチアルチザンがパワーアップして復活しました!!
今まで動いてたのに。。
なんて事はプログラミングの世界ではよくありますが、今回はphpにおける、そんなネタ。

phpのdate関数を発行する際、タイムゾーンを設定していないと下記のようなエラーが出ます。

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



どうも、5.1.0からデフォルトタイムゾーンを設定しないといけないみたい。。
設定は、date_default_timezone_set関数で定義するか、php.iniで設定するかです。

date_default_timezone_set関数
date_default_timezone_set() は、日付/時刻関数で 使用されるデフォルトタイムゾーンを設定します。
注意: PHP 5.1.0 以降(日付/時刻 関数が書き直されてから)、タイムゾーンを 正しく設定せずに日付/時刻関数をコールすると E_NOTICE が発生し、またシステムの設定や TZ 環境変数を 使用すると E_STRICT が発生するようになりました。



つまり、date_default_timezone_set関数では以下のように記述、
date_default_timezone_set('Asia/Tokyo');

php.iniでは、以下のように設定、
date.timezone = Asia/Tokyo


となります。

しかし、これって結構影響デカイ変更ですね。。