解決策: 1. "ini_set('date.timezone','PRC')" を使用してタイム ゾーンを設定します。 2. "date_default_timezone_set('PRC')" を使用してタイム ゾーンを設定します。 3.設定ファイルに「date.timezone=PRC」を設定します。
このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
PHP では表示時間が不安定ですタイムゾーンの設定が間違っているため、実際の時刻と異なります。
世界は 24 のタイム ゾーンに分かれています。各タイム ゾーンには独自の現地時間があります。各タイム ゾーンの現地時間は同時に 1 ~ 23 時間異なります。たとえば、ロンドンの現地時間、英国と北京の現地時間は 8 時間異なります。
表示される時間を実際の時間と同じに設定したい場合は、タイム ゾーンをローカル タイム ゾーンに設定する必要があります。一般的なタイム ゾーン識別子とその意味は次のとおりです:
アジア/上海 —— 上海
アジア/重慶 —— 重慶
アジア/ウルムチ ——ウルムチ
アジア/香港 —— 香港
アジア/マカオ —— マカオ
アジア/台北 —— 台北
アジア/シンガポール - シンガポール
中国 - 中国タイムゾーン
注: 中国にいる場合は、タイムゾーンを変更します。「Asia/Shanghai
または PRC
」に設定できます。設定後は必ずサーバーを再起動してください。成功!
タイム ゾーンを設定する方法を見てみましょう:
方法 1: ini_set() 関数を使用してタイム ゾーンを設定します
PHP では、ini_set() 関数は、指定された構成オプションの値を設定できます。この構成オプションは、スクリプトの実行中は新しい値を維持し、スクリプトの終了時にその値を復元します。関数の構文形式は次のとおりです。
ini_set($varname, $newvalue)
ここで、$varname は変更する構成オプション、$newvalue は構成オプションの新しい値です。
例:
<?php header("Content-type:text/html;charset=utf-8"); ini_set('date.timezone', 'GMT'); echo '当前的格林尼治时间为:'.date('Y-m-d H:i:s',time()).'<br>'; ini_set('date.timezone', 'PRC'); echo '国内当前时间为:'.date('Y-m-d H:i:s',time()); ?>
出力結果:
##方法 2: 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 レベル情報を生成します。 例:
<?php header("Content-type:text/html;charset=utf-8"); date_default_timezone_set('Europe/Lisbon'); echo '葡萄牙的当前时间为:'.date('Y-m-d H:i:s',time()).'<br>'; date_default_timezone_set('PRC'); echo '国内当前时间为:'.date('Y-m-d H:i:s',time()); ?>出力結果: ##方法 3: 設定ファイル php.ini に
を設定します 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 =the ;
infrontこれは PHP と同じです //
は同じ機能を持ち、コメントを意味します ここではこれを削除し、この中の =
の後に対応するタイムゾーン識別子を記入する必要があります以下に示すような文: <pre class="brush:php;toolbar:false">[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = PRC</pre>
》#アジア/アデン ##アジア/アクタウアジア/アルマトイ アジア/アンマン アジア/アナディル
アジア/バグダッドアジア/アクトベ
アジア/アシガバート
アジア/アティラウ
アジア/バルナウルアジア/バーレーン
アジア/バク
アジア/バンコク
アジア/チタアジア/ベイルート
アジア/ビシュケク
アジア/ブルネイ
アジア/ダッカアジア/チョイバルサン
アジア/コロンボ
アジア/ダマスカス
アジア/ファマグスタアジア/ディリ
アジア/ドバイ
アジア/ドゥシャンベ
アジア/香港アジア/ガザ
アジア/ヘブロン
アジア/ホーチミン
アジア/ジャヤプラアジア/ホブド
アジア/イルクーツク
アジア/ジャカルタ
アジア/カラチアジア/エルサレム
アジア/カブール
アジア/カムチャツカ
アジア/クラスノヤルスクアジア/カトマンズ
アジア/カンディガ
アジア/コルカタ
アジア/マカオ#アジア/クアラルンプール
アジア/クチン
アジア/クウェート
##アジア/マガダン
アジア/マカッサル アジア/マニラ
アジア/マスカット アジア/ニコシア
アジア/ノヴォクズネツク アジア/ノボシビルスク
アジア/オムスク アジア/口頭
アジア/プノンペン アジア/ポンティアナック
アジア/平壌 アジア/カタール
アジア/コススタナイ アジア/クズロルダ
アジア/リヤド アジア/サハリン
アジア/サマルカンド アジア/ソウル
アジア/上海 アジア/シンガポール
アジア/スレドネコリムスク アジア/台北
アジア/タシケント アジア/トビリシ
アジア/テヘラン アジア/ティンプー
アジア/東京 アジア/トムスク
アジア/ウランバートル アジア/ウルムチ
アジア/ウスチネラ アジア/ビエンチャン
アジア/ウラジオストク アジア/ヤクーツク
アジア/ヤンゴン アジア/エカテリンブルク 推荐学习:《 PHPビデオ教程アジア/エレバン
以上がPHPで表示される時刻が実際の時刻と異なる場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。