2017-04-20 48 views
0

我需要得到PHP中兩個時區之間的偏移量。我使用下面的代碼來做到這一點:Php Datetime()返回偏移量爲0爲不同的時區

 $origin_tz="America/Los_Angeles"; 
     $remote_tz="UTC"; 
     $origin_dtz = new DateTimeZone($origin_tz); 
     $remote_dtz = new DateTimeZone($remote_tz); 
     $origin_dt = new DateTime("now", $origin_dtz); 
     $remote_dt = new DateTime("now", $remote_dtz); 
     $offset = $origin_dtz->getOffset($origin_dt) - $remote_dtz->getOffset($remote_dt); 

我得到抵消爲0.我在這裏做錯了什麼?

回答

0

的getOffset:返回時區從UTC

$origin_tz="America/Los_Angeles"; 
$remote_tz="Europe/Berlin"; 

$origin_dtz = new DateTime('NOW', new DateTimeZone($origin_tz)); 
$remote_dtz = new DateTime('NOW', new DateTimeZone($remote_tz)); 

$originOffset = $origin_dtz->getOffset(); // -25200 => 7h to UTC 
$remoteOffset = $remote_dtz->getOffset(); // 7200 => 2h to UTC 

$offset = $originOffset - $remoteOffset; // -32400 => -9h 
以秒爲偏移
相關問題