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


Formatting the date and time that returns from created_at

我一直在尝试通过以下 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转换为本地用户时区?

通过我的研究,我发现我们可以通过以下方式获取当前用户的本地时间

  • 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。 但是,如果他们打开了地理标记,则可以通过坐标推断出他们的位置。 但是,我不确定地理标记是否适用于配置文件中未设置时区的情况。