ホームページ >バックエンド開発 >PHPチュートリアル >PHP でタイムゾーンを越えて時刻と日付を変換するにはどうすればよいですか?

PHP でタイムゾーンを越えて時刻と日付を変換するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-23 08:47:02942ブラウズ

How to Convert Time and Date Across Time Zones in PHP?

PHP でタイムゾーンをまたがる時刻と日付を変換する

タイムゾーン変換

時刻と日付を 1 つの時刻から変換するにはPHP でゾーンを別のゾーンに移す場合、多用途の DateTime クラスを活用できます。これにより、タイムスタンプをシームレスに操作および変換できます。

GMT タイム オフセットの取得

GMT からのタイム オフセットを取得するには、タイム ゾーン データベース (TZDB) などのオンライン データベースを調べます。タイム ゾーンとそのオフセットの包括的なリストについては、Internet Assigned Numbers Authority (IANA) タイム ゾーン データベースを参照してください。

夏時間 (DST) に関する考慮事項

アカウントへDST の場合、DateTime クラスは、ゾーン固有のルールに基づいてタイム ゾーンの移行を自動的に調整します。

PHP クラスでの実装

PHP の作成方法の例を次に示します。タイムゾーン変換用のクラス:

<code class="php">class TimeConverter {
    private $from_timezone;
    private $to_timezone;
    private $datetime;

    public function __construct($timestamp, $from_timezone, $to_timezone) {
        $this->datetime = new DateTime($timestamp);
        $this->from_timezone = new DateTimeZone($from_timezone);
        $this->to_timezone = new DateTimeZone($to_timezone);
    }

    public function convert() {
        $this->datetime->setTimezone($this->to_timezone);
        return $this->datetime->format('Y-m-d H:i:sP');
    }
}</code>

使用法

タイムスタンプをあるタイムゾーンから別のタイムゾーンに変換するには、TimeConverter クラスのインスタンスを作成し、convert メソッドを呼び出します。 () 方法。例:

<code class="php">$converter = new TimeConverter('2023-03-08 14:30:00', 'America/Los_Angeles', 'Asia/Tokyo');
$converted_time = $converter->convert();
echo $converted_time;</code>

これにより、「アジア/東京」タイムゾーンで変換された時間が出力され、該当する場合は夏時間に合わせて調整されます。

以上がPHP でタイムゾーンを越えて時刻と日付を変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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