【发布时间】:2011-04-12 18:14:12
【问题描述】:
我正在用 php 编写一个 twitter 网络服务。当用户登录时,我会收到此节点:
<utc_offset>-18000</utc_offset>
我必须更改脚本的时区,使其适应用户的实际时区。我为此找到的唯一 php 函数是:date_default_timezone_set($timezone_identifier),但它不允许我使用 -18000 作为 $timezone_identifier 参数。
那么,如何根据两个值更改当前用户时区:服务器 UTC 偏移量和用户 UTC 偏移量
顺便说一句,这就是我获取服务器 UTC 偏移值的方式:
$this_tz_str = date_default_timezone_get();
$this_tz = new DateTimeZone($this_tz_str);
$now = new DateTime("now", $this_tz);
$offset = $this_tz->getOffset($now);
有什么想法吗?谢谢!
【问题讨论】:
-
-18000 是偏移量而不是时区标识符。对于有效的时区标识符visit this link。
-
我会用你的 $usertime 而不是 time() 来计算日期:)
标签: php timezone utc datetimeoffset