将新的Date()。getTimezoneOffset()转换为PHP

时间:2014-12-18 21:03:27

标签: javascript php

我需要将以下JS函数转换为PHP中的确切函数。

var user_timezone_offset = new Date().getTimezoneOffset()*60;

这是我的PHP代码,但$ user_timezone_offset返回的值与JS不同:

$TZ = 'America/Chicago';
$user_localtime = new DateTime("now", new DateTimeZone($TZ));
$user_timezone_offset = $user_localtime->getOffset();

两种情况下返回的值必须完全相同。现在是一个3600(来自PHP),第二个值是负-3600(来自JS)

2 个答案:

答案 0 :(得分:2)

new Date().getTimezoneOffset()以分钟为单位给出偏移量,因此只需将其乘以60即可获得以秒为单位的偏移量,这是PHP使用的。

var user_timezone_offset = new Date().getTimezoneOffset() * 60;

答案 1 :(得分:-1)

这两种语言在计算差值时使用不同的位置,如utc - tz或tz - utc。你需要在javascript端乘以“-60”。

var user_timezone_offset = new Date().getTimezoneOffset() * -60;