ホームページ >バックエンド開発 >PHPの問題 >PHPでタイムスタンプを異なるタイムゾーンの時刻に変換する方法

PHPでタイムスタンプを異なるタイムゾーンの時刻に変換する方法

PHPz
PHPzオリジナル
2023-03-29 16:25:081212ブラウズ

PHP は広く使用されているサーバーサイド プログラミング言語であり、そのタイムスタンプから時刻への変換機能は非常に実用的です。ただし、異なるタイムゾーンを考慮する必要がある場合は、タイムスタンプに基づいてタイムゾーン変換を追加する必要があります。この記事では、PHP でタイムスタンプをさまざまなタイムゾーンの時刻に変換する方法について説明します。

  1. タイム ゾーンの概念を理解する

時刻変換を実行する前に、タイム ゾーンの概念を明確にする必要があります。タイムゾーンとは、地域内のすべての人が同じ標準時間を使用するというルールを指します。通常、各タイム ゾーンには代表的な都市があります (ロサンゼルス タイム ゾーンの UTC-8 など)。

  1. 現在のタイムスタンプを取得する

PHP で現在のタイムスタンプを取得する関数は time() で、現在のシステム時刻と 1970 年 1 月の UTC 時刻を返します。 1日0:00:00の間の秒数。

例:

$timestamp = time();
  1. 指定したタイム ゾーンに変換する

タイムスタンプを指定したタイム ゾーンの時刻に変換する前に、次のことを行う必要があります。まずターゲットのタイムゾーンを決定し、次に現在のタイムスタンプをそのタイムゾーンのタイムスタンプに変換し、最後に PHP の date() 関数を使用して必要な時刻形式にフォーマットします。

たとえば、現在のタイムスタンプを北京時間 (CST) に変換します:

$timestamp = time();
$target_timezone = new DateTimeZone('Asia/Shanghai');
$date_time = new DateTime('@' . $timestamp);
$date_time->setTimeZone($target_timezone);
$beijing_time = $date_time->format('Y-m-d H:i:s');
echo $beijing_time;

このコードの説明は次のとおりです:

  • 行 1 は現在のタイムスタンプを取得します。タイムスタンプ。
  • 行 2 では、ターゲット タイム ゾーンを表す DateTimeZone オブジェクトを作成します。
  • 行 3 では、現在のタイムスタンプをパラメーターとして使用して DateTime オブジェクトを作成します。
  • 行 4 は、DateTime オブジェクトをターゲット タイム ゾーンに設定します。
  • 行 5 は、DateTime オブジェクトを「Y-m-d H:i:s」、つまり年-月-日 時:分:秒の形式の文字列にフォーマットします。
  • 行 6 は、フォーマットされた北京時間を出力します。
  1. 利用可能なタイム ゾーンの一覧表示

DateTimeZone オブジェクトを使用する場合は、正しいタイム ゾーン識別子を渡す必要があります。 DateTimeZone クラスの静的メソッド listIdentifiers() を使用して、利用可能なすべてのタイム ゾーンの識別子を一覧表示できます。

例:

$timezones = DateTimeZone::listIdentifiers();
foreach ($timezones as $timezone) {
    echo $timezone . '<br />';
}

このコードの説明は次のとおりです:

  • 行 1 は、DateTimeZone クラスの listIdentifiers() メソッドを呼び出し、リストを返します。利用可能なすべてのタイムゾーン識別子を含むシンボルの配列。
  • 行 2 ~ 4 では、foreach ループを使用してすべてのタイムゾーン識別子を走査し、ページに出力します。

概要

この記事では、PHP でタイムスタンプをさまざまなタイムゾーンの時刻に変換する方法について説明します。まずタイム ゾーンの概念を理解してから、DateTime クラスと DateTimeZone クラスを使用して変換する必要があります。また、正しいタイム ゾーンの選択を容易にするために、利用可能なすべてのタイム ゾーン識別子をリストすることをお勧めします。この記事が皆さんの PHP 時間変換の学習に役立つことを願っています。

以上がPHPでタイムスタンプを異なるタイムゾーンの時刻に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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