繁体   English   中英

PHP Datetime()在不同时区返回偏移量为0

[英]Php Datetime() returning offset as 0 for different timezone

我需要获取PHP中两个时区之间的偏移量。 我正在使用下面的代码来做到这一点:

        $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。在这里我做错了什么?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM