1

私のphpコードに少し問題があります。以下を参照してください

<?php
$thisyear = date('Y');
echo "<span>&copy; 2004-$thisyear All rights reserved. </span>";
?>

error_log に表示されるエラーは次の性質のものです

PHP 警告: date() [function.date]: システムのタイムゾーン設定に頼るのは安全ではありません。date.timezone 設定または date_default_timezone_set() 関数を使用する必要が あります。これらの方法のいずれかを使用してもこの警告が表示される場合は、タイムゾーン識別子のスペルが間違っている可能性があります。「CST/-6.0/no DST」に「America/Chicago」を選択しました

私の単純なphpスクリプトでこれを指定する方法がわかりません。

どんな助けでも大歓迎です!

4

6 に答える 6

6

警告は可能な限り明確であると思います。これを試して使用してください:

<?php
date_default_timezone_set('America/Los_Angeles');
$thisyear = date('Y');
echo "<span>&copy; 2004-$thisyear All rights reserved. </span>";
?>

このリンクをたどると、サポートされているすべてのタイムゾーンのリストが表示されます: http://php.net/manual/en/timezones.php

于 2012-12-11T13:28:27.897 に答える
2

ドキュメントは非常に明確です。

あなたがやる

date_default_timezone_set('UTC');

(または、任意のタイムゾーン)

于 2012-12-11T13:32:36.437 に答える
1

このようにタイムゾーンを指定するだけです。

<?php
date_default_timezone_set('America/Chicago'); // Or any other timezone

$thisyear = date('Y');
echo "<span>&copy; 2004-$thisyear All rights reserved. </span>";
?>

タイムゾーンの完全なリストについては、「List PHP TimeZones 」を参照してください。

于 2012-12-11T13:29:12.580 に答える
1
    <?php
    // set the default timezone to use. Available since PHP 5.1
    date_default_timezone_set('UTC');
   echo date('y');
    ?>
于 2012-12-11T13:29:58.840 に答える
0

PHP>=5.4.0 を使用している場合は、次の 2 つのオプションがあります。

  1. 日付関数を呼び出す前にdate_default_timezone_set()を使用します

    < ? php

    date_default_timezone_set("アメリカ/シカゴ");

    $thisyear = date('Y');

    echo "© 2004-$thisyear All rights reserved.";

    ?>

  2. 設定を使用して、php.ini ファイルにオプションdate.timezoneを追加し、単純に日付関数を使用して、 php.ini でデフォルトのタイムゾーンを指定します。

    [日にち]

    ; 日付関数で使用されるデフォルトのタイムゾーンを定義します

    date.timezone = アメリカ/シカゴ

オプション 2 はデフォルト値であり、date を呼び出す前に date_default_timezone_set() を明示的に呼び出さない限り使用されます。

PHP のバージョンが 5.4.0 未満の場合は、環境変数 TZ またはオペレーティング システムを使用することもできます。date_default_timezone_set() のドキュメントでは、優先順位を確認できます。

この関数は、次の方法でデフォルトのタイムゾーンを優先順に返します。

  • date_default_timezone_set() 関数を使用して設定されたタイムゾーンを読み取る (存在する場合)

  • PHP 5.4.0 より前のみ: TZ 環境変数の読み取り (空でない場合)

  • date.timezone ini オプションの値の読み取り (設定されている場合)

  • PHP 5.4.0 より前のみ: ホスト オペレーティング システムへのクエリ (OS でサポートされ、許可されている場合)。これは、タイムゾーンを推測する必要があるアルゴリズムを使用します。これは、すべての状況で正しく機能するわけではありません。この段階に達すると、警告が表示されます。正しく推測されることに依存せず、代わりに date.timezone を正しいタイムゾーンに設定してください。

それが役に立てば幸い

于 2012-12-11T13:46:07.263 に答える
0
 date_default_timezone_set("Europe/Rome");
于 2012-12-11T13:44:05.863 に答える