ホームページ >バックエンド開発 >PHPチュートリアル >PHP プログラム時間の 8 時間の差の解決策

PHP プログラム時間の 8 時間の差の解決策

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-20 13:04:321541ブラウズ

PHP プログラム時間の 8 時間の差の解決策

外部ホストまたはローカルの自己構成インストールを使用する PHP 環境では、デフォルト設定は外部時間ですゾーンまたはシステムのデフォルトのタイムゾーン。 date 関数によって返される時刻値は、北京の現地時間と常に 8 時間異なります。

解決策は、PHP のタイムゾーン環境を正しく構成することです。

PHP のタイムゾーン環境は、特定の文字列のセットを通じて指定されます。最も簡単な方法は、php.ini ファイル内の date.timezone 行を見つけることです。デフォルトでは、この行はコメント化されており、前のセミコロンを削除して有効にします。中国本土の場合は、Etc/GMT-8 (またはアジア/上海、アジア/重慶、アジア/ウルムチ、中国) に設定できます。次に、Web サーバーを再起動します。

何らかの理由で php.ini を変更できない場合は、PHP プログラムの先頭で date_default_timezone_set() を使用して設定できます。たとえば、date 関数

date_default_timezone_set('Etc/GMT-8');

を使用する前にコードを実行できます。個人的には、date_default_timezone_set 関数を使用する方が良いと思います。第一に、この方法は汎用性が高く、第二に、Web サイトが世界中のユーザーを対象としている場合、この方法により各ユーザーが自分のタイムゾーンを設定できます。

最後に説明する必要があるのは、Etc/GMT の書き方です。中国本土では東部 8 ゾーンの時刻が使用され、通常は +8 と表記されますが、PHP では大きな変更があり、タイムゾーンが の場合は逆に Etc/GMT-8 と表記する必要があります。 West 2ndzone は、PHP では Etc/GMT+2 と書く必要があります。これは常識とは異なるため、特に注意する必要があります。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。