ホームページ > バックエンド開発 > PHPの問題 > PHPでタイムゾーンを変更する方法

PHPでタイムゾーンを変更する方法

PHPz
リリース: 2023-04-12 16:57:36
オリジナル
2365 人が閲覧しました

タイムゾーンは、特定の場所の時間を決定する地理的な概念です。 PHP アプリケーションを作成するとき、タイムゾーン設定を変更する必要がある状況が多くあります。これは、PHP で使用されるデフォルトのタイムゾーンが、地域の現地時間ではなく協定世界時 (UTC) であるためです。

それでは、PHP でタイムゾーンを変更するにはどうすればよいでしょうか?次に、そのプロセスを詳しく説明します。

1. PHP で現在のタイム ゾーンを確認する

タイム ゾーンを変更する前に、まず現在の PHP タイム ゾーン設定を確認する必要があります。 date_default_timezone_get() 関数を使用すると、現在のタイムゾーンを表示できます。サンプル コードは次のとおりです。

echo date_default_timezone_get();  // 输出 UTC
ログイン後にコピー

このコードは、出力の現在のタイム ゾーンを UTC に設定します。

2. PHP でタイム ゾーンを設定する

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 の公式ドキュメントに記載されています。

3. タイム ゾーンを一時的に設定する

タイム ゾーン設定をグローバルに設定するのではなく、スクリプトの特定の部分で一時的に変更するだけでよい場合があります。この場合、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');
// 输出北京当前时间
ログイン後にコピー

4. ini_set() 関数を使用してタイムゾーンを設定します

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート