格式化从created_at返回的日期和时间

时间:2014-12-14 12:36:33

标签: php twitter

我一直在尝试通过以下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为空。所以,

  1. 我应该如何获得当前用户的当地时间?
  2. 我们在created_at中收到的默认时区是什么?
  3. 如何将Twitter生成的TimeDate转换为本地用户 时区?
  4. 通过我的研究, 我发现我们可以通过

    获取当前用户的当地时间
    • 潜水utc_offset 3600。
    • 然后将这些值添加到created_at时间。

    但是,如果utc_offset字段为空,该怎么办?

1 个答案:

答案 0 :(得分:1)

要回答问题#2,默认时区是GMT(UTC)。查看日期/时间字符串的格式:

Sun Dec 14 04:58:58 +0000 2014

+0000表示时区为GMT。 GMT总是+0000。

回答你的另一个问题:

如果utc_offset为null,则表示用户尚未在其配置文件中设置时区。在这种情况下,您将必须使用0作为偏移量,并假设它们处于GMT。但是,如果他们打开了地理标记,您可以通过坐标推断出它们的位置。但是,我不确定地理标记是否适用于配置文件中没有设置时区。