PHP:将UTC时间更改为太平洋(PST/PDT)


PHP: Changing UTC time to Pacific (PST/PDT)

我有一个Datetime对象,并通过以下方式获取时间:

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

我希望能够将其转换为加利福尼亚的当前时间,但我需要考虑PST和PDT的时间偏移。根据一年中的时间,可能是-7或-8小时。如何动态获取正确太平洋时间的$today ?

您可以简单地使用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"));