ホームページ >バックエンド開発 >PHPの問題 >PHPで表示される時刻が実際の時刻と異なる場合はどうすればよいですか?

PHPで表示される時刻が実際の時刻と異なる場合はどうすればよいですか?

青灯夜游
青灯夜游オリジナル
2021-09-07 18:49:342020ブラウズ

解決策: 1. "ini_set('date.timezone','PRC')" を使用してタイム ゾーンを設定します。 2. "date_default_timezone_set('PRC')" を使用してタイム ゾーンを設定します。 3.設定ファイルに「date.timezone=PRC」を設定します。

PHPで表示される時刻が実際の時刻と異なる場合はどうすればよいですか?

このチュートリアルの動作環境: 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(&#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;PRC&#39;);
echo &#39;国内当前时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time());
?>

出力結果:

PHPで表示される時刻が実際の時刻と異なる場合はどうすればよいですか?

##方法 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(&#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;PRC&#39;);
echo &#39;国内当前时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time());
?>

出力結果:

PHPで表示される時刻が実際の時刻と異なる場合はどうすればよいですか?

##方法 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 サイトの他の関連記事を参照してください。

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