我有一个Datetime对象并获得以下时间:
$today = date('Y-m-d H:i:s', $temp['date']->getTimeStamp());
我希望能够将此转换为加利福尼亚州的当前时间,但我需要考虑PST和PDT的时间偏移。它可能是-7或-8小时,具体取决于一年中的时间。如何在正确的太平洋时间内动态获取$today
?
答案 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"));