PHPでワールドタイムゾーンを設定する方法

藏色散人
リリース: 2023-03-09 21:10:02
オリジナル
5105 人が閲覧しました

php でワールド タイム ゾーンを設定する方法: 1. 設定ファイルに「date.timezone」を設定します。 2. 「ini_set()」関数を使用してタイム ゾーンを設定します。 3. 「 date_default_timezone_set()」関数を使用してタイムゾーンを設定します。

PHPでワールドタイムゾーンを設定する方法

この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、DELL G3 コンピューター

は、次の日付と時刻関数を通じて取得されます。 PHP の日付と時刻。日付と時刻の関数は、サーバーの時刻設定によって異なります。サーバーの時刻設定は、デフォルトでグリニッジ標準時 (ゼロ タイム ゾーンの時刻) に設定されています。時刻が特定のタイム ゾーンに特に設定されていない場合、関連する PHP 関数を通じて取得される時刻は、北京時間より 8 時間短い、ゼロタイムゾーン時間になります。

タイム ゾーンの分割

世界は 24 のタイム ゾーンに分かれています。各タイム ゾーンには独自の現地時間があります。各タイム ゾーンの現地時間は 1 ずつ異なります同時に最大 23 秒、時間、たとえば、イギリスのロンドンの現地時間と北京の現地時間の差は 8 時間です。

国際無線通信の分野では、グリニッジ標準時 (GMT) と同じ協定世界時 (UTC) と呼ばれる統一時刻が使用されます。

PHP のタイムゾーン設定

PHP5.0 では data() 関数が書き換えられているため、現在の日時関数はシステム時間より 8 時間短くなっています。 PHP 言語のデフォルト設定は標準グリニッジ時間 (つまり、ゼロ タイム ゾーンが使用される) であるため、現在の現地時間を取得するには、PHP 言語のタイム ゾーン設定を変更する必要があります。

PHP でタイムゾーンを設定するには 3 つの方法があります。以下に紹介します。

1) 設定ファイルに設定します

PHP の設定ファイルは、PHP のインストールディレクトリにある php.ini ファイルです。これを見つけて開きます。次に、ファイル内で date.timezone を検索すると、以下に示すような情報が表示されます:

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
ログイン後にコピー

where; date.timezone = thePrevious; は、PHP の // と同じ機能を持ち、両方の機能を持ちます。コメントを意味するため、ここではこれを削除し、以下に示すように、この文の = の後に対応するタイム ゾーン識別子を入力する必要があります:

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shangha
ログイン後にコピー

タイム ゾーン識別子は多数あり、「https」にアクセスしてアクセスできます。 ://www.php.net/manual/zh/timezones.php" を参照してください。以下に、一般的に使用されるタイム ゾーン識別子とその意味を示します。

Asia/Shanghai —— 上海
Asia/Chongqing —— 重庆
Asia/Urumqi —— 乌鲁木齐
Asia/Hong_Kong —— 香港
Asia/Macao —— 澳门
Asia/Taipei —— 台北
Asia/Singapore —— 新加坡
PRC —— 中国时区
ログイン後にコピー

ヒント: 中国では、タイム ゾーンを設定します。 「アジア/上海または中国」でOKです。設定が成功したら、忘れずにサーバーを再起動してください。

[例] コードを使用して、設定が有効かどうかを確認してみましょう。

<?php
    echo date(&#39;Y-m-d H:i:s&#39;,time());
?>
ログイン後にコピー

実行結果は次のとおりです:

2020-03-26 09:56:52
ログイン後にコピー

実行結果がコンピュータの現地時間と同じであれば、設定が成功したことを意味します。

2) ini_set() 関数を使用してタイムゾーンを設定します

PHP の ini_set() 関数は、指定された構成オプションの値を設定できます。この構成オプションは新しい値を維持しますスクリプトの実行時に実行され、スクリプトの終了時に再開されます。関数の構文形式は次のとおりです。

ini_set($varname, $newvalue)
ログイン後にコピー

ここで、$varname は変更する構成オプション、$newvalue は構成オプションの新しい値です。

ヒント: ini_set() 関数は、すべての構成オプションを変更できるわけではありません。変更可能な構成は、「https://www.php.net/manual/zh/ini.list.php」にアクセスして確認できます。 「オプション。

[例] ini_set()関数を使用してタイムゾーンを設定します。

<?php
    ini_set(&#39;date.timezone&#39;, &#39;GMT&#39;);
    echo &#39;当前的格林尼治时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time()).&#39;<br>&#39;;
    ini_set(&#39;date.timezone&#39;, &#39;Asia/Urumqi&#39;);
    echo &#39;乌鲁木齐的当前时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time()).&#39;<br>&#39;;
    ini_set(&#39;date.timezone&#39;, &#39;Asia/Shanghai&#39;);
    echo &#39;上海的当前时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time());
?>
ログイン後にコピー

実行結果は次のとおりです:

当前的格林尼治时间为:2020-03-26 02:37:31
乌鲁木齐的当前时间为:2020-03-26 08:37:31
上海的当前时间为:2020-03-26 10:37:31
ログイン後にコピー

3) date_default_timezone_set() 関数を使用してタイムゾーンを設定します

PHP の date_default_timezone_set() 関数を設定できます。スクリプト内のすべての時刻および日付関数用 次の構文によるデフォルトのタイムゾーン:

date_default_timezone_set($timezone_identifier)
ログイン後にコピー

パラメータ $timezone_identifier は、UTC (グリニッジ標準時) やヨーロッパ/リスボン (ポルトガル) などのタイムゾーン識別子です。 。

PHP5.1.0 (このバージョンでは日付と時刻関数が書き直されました) 以降、タイムゾーンが不正な場合、日付と時刻関数を呼び出すたびに E_NOTICE レベルのエラー メッセージが生成されます。システム設定または TZ 環境変数も E_STRICT レベル情報を生成します。

[例] date_default_timezone_set()関数を使用してタイムゾーンを設定します。

<?php
    date_default_timezone_set(&#39;Asia/Urumqi&#39;);
    echo &#39;乌鲁木齐的当前时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time()).&#39;<br>&#39;;
    date_default_timezone_set(&#39;Europe/Lisbon&#39;);
    echo &#39;葡萄牙的当前时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time()).&#39;<br>&#39;;
    date_default_timezone_set(&#39;Asia/Shanghai&#39;);
    echo &#39;上海的当前时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time());
?>
ログイン後にコピー

実行結果は次のとおりです:

乌鲁木齐的当前时间为:2020-03-26 08:35:59
葡萄牙的当前时间为:2020-03-26 02:35:59
上海的当前时间为:2020-03-26 10:35:59
ログイン後にコピー

推奨される学習: 「PHP ビデオ チュートリアル

以上がPHPでワールドタイムゾーンを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート