在PHP中的时区之间转换

时间:2011-03-31 16:27:15

标签: php datetime timezone

我正在转换这个时间和日期:

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))

2 个答案:

答案 0 :(得分:73)

我不会将date_default_timezone_set用于一般TZ转换。 (澄清......如果这是出于显示目的,脚本范围广泛,那么使用默认时区是合理的事情。)

相反,我会使用类似的东西:

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

答案 1 :(得分:1)

$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