在 PHP 中跨时区转换

2022-08-30 12:24:21

我正在转换此时间和日期:

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

答案 1

我不会用于一般的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";

答案 2
$date = $messages[0]->CreationTime;
date_default_timezone_set('America/Los_Angeles');
echo date('l F j Y g:i:s A I', strtotime($date));

请参阅此列表,了解传入函数的可用时区


推荐