ホームページ >バックエンド開発 >PHPチュートリアル >PHP でタイムゾーンを越えて時刻と日付を変換する方法
PHP でのタイムゾーン間の時刻と日付の変換
異なるタイムゾーンにまたがる時刻と日付を扱う場合、多くの場合変換が必要になります。正確な表現を保証するためにそれらを使用します。この記事では、PHP で時刻と日付をあるタイム ゾーンから別のタイム ゾーンに変換する際の課題と解決策について説明します。
タイム ゾーン オフセットと夏時間 (DST)
時刻変換における主な課題の 1 つは、特定のタイム ゾーンのグリニッジ標準時 (GMT) からの時刻オフセットを取得することです。 [IANA タイム ゾーン データベース](https://www.iana.org/time-zones) などの公開データベースが利用可能ですが、オフセットは特定のタイム ゾーンと時間によって異なる場合があることに注意することが重要です。年の。夏時間 (DST) は、1 年の特定の期間に時間オフセットを一時的に調整するため、問題をさらに複雑にします。
PHP DateTime クラス
PHP は、[DateTime] を提供します。 (https://www.php.net/manual/en/class.datetime.php) クラスは、タイムゾーン間の変換を含む、時刻と日付の操作を処理します。このクラスは次の機能を提供します。
サンプル スクリプト
次のスクリプトは、DateTime クラスを使用して、あるタイム ゾーンから別のタイム ゾーンに時刻と日付を変換する方法を示しています。
<code class="php"><?php $date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru')); echo $date->format('Y-m-d H:i:sP') . "\n"; $date->setTimezone(new DateTimeZone('Pacific/Chatham')); echo $date->format('Y-m-d H:i:sP') . "\n"; ?></code>
出力:
2000-01-01 00:00:00+12:00 2000-01-01 01:45:00+13:45
このスクリプトは、時刻と日付を「太平洋/ナウル」タイム ゾーンから「太平洋/チャタム」タイム ゾーンに変換する例を示します。 DST.
注: DateTime クラスは PHP 5.2 で導入されたため、正しいバージョンの PHP がインストールされていることを確認することが重要です。さらに、format() などの一部のメソッドは、PHP の新しいバージョンで強化されています。
以上がPHP でタイムゾーンを越えて時刻と日付を変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。