web-dev-qa-db-ja.com

PHPのタイムゾーン間の変換

私はこの時間と日付を変換しています:

_Thu, 31 Mar 2011 02:05:59 GMT
_

次の日時形式に:

_Monday March 28 2011 4:48:02 PM
_

私はこれを達成するために次のPHPコードを使用していますが、すべてのタイムゾーンをPST/PDTに変換したいです。PHPこれはdate_default_timezone_set()ですが、以下のコードにそれを実装する方法がわかりません。

_$date = $messages[0]->CreationTime;
echo date('l F j Y g:i:s A I', strtotime($date))
_
31
FAFAFOHI

一般的なTZ変換にはdate_default_timezone_setを使用しません。 (明確にするために...これが表示目的である場合は、スクリプト全体で、デフォルトのタイムゾーンを使用するのが妥当なことです。)

代わりに、次のようなものを使用します。

$tz = new DateTimeZone('America/Los_Angeles');

$date = new DateTime('Thu, 31 Mar 2011 02:05:59 GMT');
$date->setTimezone($tz);
echo $date->format('l F j Y g:i:s A I')."\n";
75
Matthew
$date = $messages[0]->CreationTime;
date_default_timezone_set('America/Los_Angeles');
echo date('l F j Y g:i:s A I', strtotime($date));

関数に渡される利用可能なタイムゾーンについては this list をご覧ください

1
Mike B