3

Datetimeオブジェクトがあり、次のように時刻を取得します。

$today = date('Y-m-d H:i:s', $temp['date']->getTimeStamp());

これをカリフォルニアの現在の時刻に変換できるようにしたいのですが、タイムオフセットのPSTとPDTを考慮する必要があります。1年の時期に応じて-7時間または-8時間になる可能性があります。$today正しい太平洋時間を動的に取得するにはどうすればよいですか?

4

1 に答える 1

2

次のように、単に strtotime を使用してタイムゾーンを変更できます。

date_default_timezone_set('Etc/GMT'); //Make sure the time is GMT
$today = date('Y-m-d H:i:s');

echo $today."\n";

$today_utc = date('Y-m-d H:i:s', strtotime( $today." GMT+3"));

echo $today_utc."\n";

$today_9 = date('Y-m-d H:i:s', strtotime( $today." GMT-9"));

echo $today_9;

デモ: http://sandbox.onlinephpfunctions.com/code/f08c0c69b415464bbee68fd1cdaaf1e7f4f1872b

したがって、あなたの場合、コードは次のようになります。

$today = date('Y-m-d H:i:s', $temp['date']->getTimeStamp());
$today = date('Y-m-d H:i:s', strtotime( $today." GMT-9"));
于 2013-03-12T18:14:26.567 に答える