PHP で時刻と日付をあるタイムゾーンから別のタイムゾーンに変換する 質問する

PHP で時刻と日付をあるタイムゾーンから別のタイムゾーンに変換する 質問する

基本的に必要なのは、時間とタイムゾーンを指定すると別のタイムゾーンの時間を返すことができるスクリプトです。

私の主な問題は次のとおりです。

  • GMT からの時間オフセットはどこから取得できますか。そのための公開データベースはありますか?
  • 夏時間 (DST) の違いも考慮する方法。
  • これらすべてを PHP クラス内にうまくまとめるにはどうすればよいでしょうか。あるいは、そのようなクラスはすでに用意されているのでしょうか。

ベストアンサー1

<?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";
?>

上記の例では次のように出力されます:

2000-01-01 00:00:00+12:00
2000-01-01 01:45:00+13:45

見つかったphp.net の DateTime マニュアル

編集: Pekka が言ったように、DateTime クラスは 5.2 以降に存在しており、まずどのメソッドが実際に実装されており、どのメソッドが 5.3 以降にのみ存在するかを調べる必要があります。

おすすめ記事