タイムゾーンは、特定の場所の時間を決定する地理的な概念です。 PHP アプリケーションを作成するとき、タイムゾーン設定を変更する必要がある状況が多くあります。これは、PHP で使用されるデフォルトのタイムゾーンが、地域の現地時間ではなく協定世界時 (UTC) であるためです。
それでは、PHP でタイムゾーンを変更するにはどうすればよいでしょうか?次に、そのプロセスを詳しく説明します。
タイム ゾーンを変更する前に、まず現在の PHP タイム ゾーン設定を確認する必要があります。 date_default_timezone_get()
関数を使用すると、現在のタイムゾーンを表示できます。サンプル コードは次のとおりです。
echo date_default_timezone_get(); // 输出 UTC
このコードは、出力の現在のタイム ゾーンを UTC に設定します。
PHP の date_default_timezone_set()
関数を使用して、タイム ゾーン設定を変更できます。この関数は、タイムゾーンの文字列パラメータを受け入れます。以下に例をいくつか示します。
// 设置时区为东八区,即北京时间 date_default_timezone_set('Asia/Shanghai'); // 设置时区为美国纽约时间 date_default_timezone_set('America/New_York'); // 设置时区为欧洲巴黎时间 date_default_timezone_set('Europe/Paris');
タイムゾーンの完全なリストは、PHP の公式ドキュメントに記載されています。
タイム ゾーン設定をグローバルに設定するのではなく、スクリプトの特定の部分で一時的に変更するだけでよい場合があります。この場合、date_default_timezone_set()
関数のローカル バージョンである date_timezone_set()
関数を使用できます。この関数は、DateTime
オブジェクトとタイムゾーン文字列パラメータを受け入れます。以下は例です:
$date = new DateTime('now', new DateTimeZone('America/New_York')); echo $date->format('Y-m-d H:i:s'); // 输出纽约当前时间 // 将时区更改为东八区(北京时间) date_timezone_set($date, new DateTimeZone('Asia/Shanghai')); echo $date->format('Y-m-d H:i:s'); // 输出北京当前时间
date_default_timezone_set()
関数の使用に加えて、次のこともできます。 ini_set()
関数を使用してタイムゾーンを設定することもできます。このメソッドは、タイムゾーン設定を PHP の構成ファイル php.ini に保存します。以下に例を示します。
ini_set('date.timezone', 'Asia/Shanghai');
Web ホスティング プロバイダーからホスティングを利用している場合は、php.ini ファイルにアクセスできない可能性があることに注意してください。この場合は、手順2または手順3で説明した方法でタイムゾーンの設定を変更できます。
タイム ゾーンは時間の分布と形式を決定するため、PHP アプリケーションでは非常に重要です。ほとんどの場合、タイムゾーンを現地のタイムゾーンに設定するのが賢明な選択です。上記の方法を使用すると、PHP アプリケーションのタイムゾーン設定を簡単に変更できます。日付と時刻の問題の対処方法について詳しく知りたい場合は、公式 PHP ドキュメントにアクセスしてください。このドキュメントには、より詳細なドキュメントと例が含まれています。
以上がPHPでタイムゾーンを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。