「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > PHP でタイムゾーンを越えて時刻と日付を変換するにはどうすればよいですか?

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

2024 年 11 月 4 日に公開
ブラウズ:121

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 の作成方法の例を次に示します。タイムゾーン変換のクラス:

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');
    }
}

使用法

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

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

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

リリースステートメント この記事は次の場所に転載されています: 1729644377 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3