簡體   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