ホームページ  >  記事  >  バックエンド開発  >  php5のdate()で取得した時刻が現在時刻ではない場合の解決策

php5のdate()で取得した時刻が現在時刻ではない場合の解決策

PHPz
PHPzオリジナル
2016-07-29 08:38:241065ブラウズ

php5.10 から、php にタイムゾーン設定が追加されました。php で表示される時刻はグリニッジ標準時です。これにより、中国のユーザーにとって 8 時間の時差の問題が発生しました。 [推奨チュートリアル: php 入門チュートリアル]

関連する設定は、php.ini の date.timezone パラメーターを変更することです:

[Date]
; Defines the default timezone used by the date functions
;date.timezone =

デフォルトは閉じられています。コメントを削除して、PRC が存在する

[Date]
; Defines the default timezone used by the date functions
date.timezone = PRC

に変更するだけです。 "中華人民共和国"!

その他のオプションについては、PHP マニュアルを参照してください。

しかし、上記のアジア地域は私たちの首都北京を恋しく思います。外国人が意図的にそうしたのかどうかはわかりません。

php.ini を変更する権限がない場合は、時刻と日付の関数を呼び出すときに date_default_timezone_set ('

PRC') を呼び出すだけです。

date_default_timezone_get() を呼び出して、現在のタイムゾーン設定を表示することもできます。

XXX について、中国本土で利用可能な値は次のとおりです:

アジア/重慶、アジア/上海、アジア/ウルムチ (重慶、上海、ウルムチの順)

香港と台湾で利用可能な値: アジア/マカオ、アジア/香港、アジア/台北 (マカオ、香港、台北の順)

台湾エリアは次のように設定できます: date.timezone = "Asia//Taipei"

シンガポール: Asia/Singapore

ソリューションPHP5 の時差が 8 時間に

php5 をインストールした後、php5.1.2 の時刻表示が 8 時間短縮されているという話をうっかりフォーラムで見かけました

<?php
echo date("Y-m-d H:i:s");
?>

自分でテストした結果、その差は でした。実に8時間。

その後、フォーラムで情報を探した結果、最終的に解決されました。php5 以降のバージョンでは、現地時間 (中国のみ) を出力するには、次のようなコードを書くことができます:

<?php
date_default_timezone_set(&#39;Asia/Shanghai&#39;);
echo date(&#39;Y-m-d H:i:s&#39;);
?>

。次のようなコードも記述します:

<?php
date_default_timezone_set(&#39;Asia/Chongqing&#39;);
echo date(&#39;Y-m-d H:i:s&#39;);
?>

これで時差 8 時間の問題が解決します。 ! ~~~

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