-1

私はこのように私のphpスクリプトで日付関数を使用しています

 $doy = date('z') + 1;
 $edition = date('Y') . $doy;

私のローカルマシンでは警告は表示されませんが、ステージングサーバーでは次の警告が表示されます。なぜそうなのですか。どうすればこれを削除できますか?

メッセージ:date()[function.date]:システムのタイムゾーン設定に依存することは安全ではありません。date.timezone設定またはdate_default_timezone_set()関数を使用する必要があります。これらの方法のいずれかを使用してもこの警告が表示される場合は、タイムゾーン識別子のスペルを間違えている可能性があります。代わりに「2.0/DST」に「ヨーロッパ/パリ」を選択しました

4

5 に答える 5

5

date.timezone設定またはdate_default_timezone_set()関数を使用する必要があります。

それはまさにあなたがしなければならないことです...

date_default_timezone_set('Europe/Paris');

またはphp.iniで:

date.timezone = Europe/Paris

もちろん、好きなタイムゾーンを使用できます。

于 2012-05-08T13:23:04.753 に答える
0

date()を呼び出す前に、デフォルトのタイムゾーンをdate_default_timezone_set('Europe / Kiev')で設定します。サポートされているタイムゾーンのリストは次のとおりです: http: //ru2.php.net/manual/en/timezones.php

于 2012-05-08T13:22:34.697 に答える
0

ページの上部にデフォルトのタイムゾーンを設定するだけです

  date_default_timezone_set('America/Chicago');

一時的に使いたいだけなら

   $dateTime = new DateTime();
   $DateTimeZone = timezone_open ( 'America/Chicago' );
   $dateTime->setTimezone( $DateTimeZone );
   echo $dateTime->format("Y") , ($dateTime->format("z") + 1);
于 2012-05-08T13:22:47.757 に答える
0

曜日またはタイムゾーンが必要ですか?$ doyという名前を付けたので、DayOfYearが必要だと思いました。ただし、表示されるすべてのエラーメッセージはタイムゾーンについて説明しています。Oreilly Bookの139ページには、日付関数の形式指定子リストがあり、使用した小文字の「z」は曜日を表します。この本の他の場所で、大文字の「Z」はタイムゾーン用であると読みました。エラーメッセージがタイムゾーンで応答すると、ある種の不具合が発生しているように見えますが、コードで曜日が指定されています。

私が参照している本は「PHP、MySQL、JavaScript、CSSの学習」です。

于 2013-03-21T04:18:47.630 に答える
-2

これは、ステージングサーバーのエラー設定が原因で発生します。エラー報告レベルを変更することにより、この出力を削除できます

例:

// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);

あなたはphpウェブサイトでより多くの情報を見つけることができます:http://php.net/manual/en/function.error-reporting.php

しかし、馬場が投稿したように、このメッセージを解決することもできます。

于 2012-05-08T13:23:38.543 に答える