3

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

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

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

4

1 回答 1

2

您可以简单地使用 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"));
于 2013-03-12T18:14:26.567 回答