PHP のタイムゾーンに従って日付と時刻を表示する

タイムゾーンは場所によって異なります。この記事では、PHP でタイムゾーンに従って時刻と日付を表示する方法を説明します。
DateTime
クラスを使用して、PHP のタイムゾーンに従って時刻と日付を表示する
PHP は、日付と時刻の操作を処理するための強力なクラス DateTime
を提供します。DateTime
クラスを使用して日時を設定できます。
このクラスは、日付、タイムゾーンタイプ、およびタイムゾーンを含むインスタンスを返します。クラスのコンストラクター関数は 2つのパラメーターを取ります。
最初のパラメータは日付/時刻の文字列です。パラメータは、PHP で定義された有効な形式である必要があります。
2 番目のパラメーターとして timezone パラメーターを使用する場合は、now
文字列を使用して現在の日付/時刻を取得することもできます。2 番目のパラメーターはタイムゾーンです。
DateTimeZone
クラスのインスタンスを使用して、特定のタイムゾーンを取得できます。DateTimeZone
クラスのコンストラクターのパラメーターとしてタイムゾーンを設定できます。
PHP で事前定義されたタイムゾーンのみを使用できます。これらのパラメータで DateTime
クラスを使用すると、タイムゾーンに従って現在の日付/時刻が取得されます。
たとえば、パラメータ $timezone
を使用して関数 display_dateTime()
を作成します。関数内で、DateTime
クラスのオブジェクトを作成します。
最初のパラメーターとして"now"
を使用し、2 番目のパラメーターとして DateTimeZone()
クラスのインスタンスを作成します。DateTimeZone()
クラスのパラメーターとして $timezone
変数を指定します。
次に、DateTime
クラスの format()
メソッドを呼び出し、フォーマットを d-m-Y, H:i:s
として指定します。echo
関数を使用して印刷します。
関数の外部で、異なるタイムゾーンで関数を複数回呼び出します。
関数の引数として、タイムゾーン Asia/Kathmandu
、Asia/Tokyo
、および Europe/Madrid
を使用します。これらのタイムゾーンは文字列である必要があります。
サンプルコード:
function display_dateTime($timezone){
$date = new DateTime("now", new DateTimeZone($timezone));
$timezone = explode('/',$timezone);
echo $timezone[1].": ".$date->format('d-m-Y, H:i:s')."<br>";
}
display_dateTime('Asia/Kathmandu');
display_dateTime('Asia/Tokyo');
display_dateTime('Europe/Madrid');
上記の例では、explode()
関数を使用して都市の名前をトリミングしました。区切り文字としてスラッシュ/
を使用しました。
たとえば、"Asia/Kathmandu"
は、配列として"Asia/Kathmandu"
として形成されます。配列から最初のインデックスを抽出して、都市名のみを取得しました。
その結果、タイムゾーンに応じて異なる時間を見ることができます。
出力:
Kathmandu: 07-06-2022, 11:27:35
Tokyo: 07-06-2022, 14:42:35
Madrid: 07-06-2022, 07:42:35
このように、PHP の DateTime
クラスを使用して、タイムゾーンに従って時刻と日付を設定できます。
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn関連記事 - PHP Date
- PHP で日付に日を追加する方法
- PHP を使用して 2つの日付の差を計算する方法
- PHP で DateTime を文字列に変換する方法
- PHP で文字列を日付と日時に変換する方法
- PHP で 1つの日付形式を別の日付形式に変換する方法
- PHP で現在の日付と現在時刻を取得する方法