PHPのデフォルトタイムゾーンの変更

3264 ワード

地域ごとに独自のローカル時間があり、ネットや無線通信では時間の変換問題が際立っている.地球全体が24のタイムゾーンに分かれており、それぞれのタイムゾーンには独自のローカル時間があります.国際無線又はネットワーク通信の場合、統一のために、共通協調時(UTC,Universal Time Coordinated)と呼ばれる統一された時間を用いることは、世界時間標準によって設定されるグローバル標準時間である.UTCはもともとグリニッジ標準時間(GMT,Greenwich Mean Time)とも呼ばれ、英国ロンドンの現地時間と同じだった.
PHPのデフォルトのタイムゾーン設定はUTC時間ですが、北京はちょうどタイムゾーンの東八区にあり、UTCを8時間リードしています.したがって,PHPでtime()などのように現在の時間の関数を取得する場合,得られる時間は常に間違っており,北京時間と8時間の差を示す.北京時間を正しく表示するには、デフォルトのタイムゾーン設定を変更する必要があります.以下の2つの方法で完了できます.
独立したサーバを使用する場合、プロファイルを変更する権限があり、タイムゾーンを設定することでphpを変更することができます.iniのdate.timezoneプロパティが完了しました.この属性の値を「Asia/Shang」、「Asia/Chongqing」、「Etc/GMT-8」またはPRCなどのいずれかに設定し、PHPスクリプトで取得する現在の時間は北京時間です.PHPのプロファイルの変更は以下の通りです.

  
  
  
  
  1. date.timezone = Etc/GMT-8        // 8 ( ) 

共有サーバを使用している場合は、プロファイルphpを変更する権限がありません.ini、PHPバージョンは5.1です.0以上、出力時間より前にdate_を呼び出すようにしてもよいdefault_timezone_set()関数はタイムゾーンを設定します.この関数は、パラメータとしてタイムゾーン識別子と、プロファイル内のdateとを提供する必要がある.timezoneプロパティの値は同じです.この関数は次のように使用されます.

  
  
  
  
  1. date_default_timezone_set('PRC');           // ,PRC  
  2. echo date('Y-m-d H:i:s', time());         //

getdate()関数が返す配列単位
キー名
描写する
戻り値の例
hours
時間の数値表示
0~23
mday
月中日の数値表示
1~31
minutes
分の数値表示
0~59
mon
月の数値表示
1~12
month
月の完全テキスト表示
January~December
seconds
秒の数値表示
0~59
wday
一週間の中日の数値表示
0~6(0は日曜日)
weekday
1週間の中日の完全なテキスト表示
Sunday~Saturday
yday
年間中日の数値オフセット
0~365
year
年の4桁表示
例:1999または2009
0
UNIX紀元から現在までの秒数は、time()の戻り値やdate()の値と似ています.
システム関連、典型的な値は-2114748648~2147483647
「2009年10月1日、07:30:50 EDT」をUNIXタイムスタンプ1254382250表現に変換し、getdate()関数に渡すと、各配列要素は次のように表示されます.

  
  
  
  
  1. Array (   
  2. [seconds] => 50                 //  
  3. [minutes] => 30                 //  
  4. [hours] => 7                    //  
  5. [mday] => 1                     //  
  6. [wday] => 4                     //  
  7. [mon] => 10                     //  
  8. [year] => 2009                  // 4  
  9. [yday] => 273                   //  
  10. [weekday] => Thursday           //  
  11. [month] => October              //  
  12. [0] => 1254382250               // UNIX  
  13. )