I need to get the offset between two timezones in PHP. I am using below code to do that:
$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);
I am getting offset as 0. What am I doing wrong here ?
getOffset: returns the timezone offset in seconds from 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
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.