我一直在尝试通过以下 API 以用户本地时间显示状态created_at
时间。
$content = $connection->get('statuses/home_timeline', array('count' => 14));
响应(为了可读性,我从每个结果中发布了 2 个字段):
[created_at] => Sun Dec 14 04:58:58 +0000 2014
[utc_offset] => 19800
[created_at] => Sun Dec 14 04:58:11 +0000 2014
[utc_offset] => -28800
[created_at] => Sun Dec 14 04:57:56 +0000 2014
[utc_offset] =>
在上面的响应中,您可以在结果中看到utc_offset
为空。所以
- 我应该如何获取用户的当前本地时间?
- 我们在created_at收到的默认时区是什么?
- 如何将Twitter生成的TimeDate转换为本地用户时区?
通过我的研究,我发现我们可以通过以下方式获取当前用户的本地时间
- 3600 潜水
utc_offset
。 - 然后将这些值添加到created_at时间。
但是,如果万一utc_offset
字段为空怎么办?
要回答问题 #2,默认时区为 GMT (UTC)。 查看日期/时间字符串的格式:
周日 12月 14 04:58:58 +0000 2014
+0000 表示时区为 GMT。 格林威治标准时间始终为 +0000。
要回答您的其他问题:
如果utc_offset为 null,则表示用户尚未在其配置文件中设置时区。 在这种情况下,您必须使用 0 作为偏移量,并假设它们处于 GMT。 但是,如果他们打开了地理标记,则可以通过坐标推断出他们的位置。 但是,我不确定地理标记是否适用于配置文件中未设置时区的情况。