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

时间:2013-03-12 17:58:16

标签: php

我有一个Datetime对象并获得以下时间:

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

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

1 个答案:

答案 0 :(得分:1)

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