有人可以告诉我facebook如何存储事件的开始和结束时间吗?

时间:2012-05-15 12:17:00

标签: facebook facebook-graph-api timezone

我从各种渠道得知Facebook存储事件的开始和结束时间为PST。但是必须有一些我想念的东西。拿这个我创建的facebook event。我住在意大利,实际上当我插入事件时间时它表示UTC + 2.我插入2012-05-18 10.30 PM作为事件开始时间。我希望这可以保存为太平洋时间下午1点30分,因为PST应该是GMT -7(因为夏令时)。但是如果我做的话

$start = date("Y-m-d H:i:s", $facebook_event['start_time'] );

$start出现2012-05-19 05:30:00,这是我插入后7小时!怎么可能?我错过了什么?

编辑 - 这就是我检索事件start_time的方法

        $fql = "SELECT 
                    eid,
                    name,
                    description,
                    start_time,
                    end_time,
                    venue,
                    location,
                    update_time
                FROM
                    event
                WHERE 
                    eid IN (SELECT eid FROM event_member WHERE uid = $id)" ;
        $events = $facebook->api( array(
            'method' => 'fql.query',
            'query' => $fql,
        ) );

我没有使用/$id/events/ api电话,因为当我收到我的朋友活动时,我总是回到空集

2 个答案:

答案 0 :(得分:4)

让我解释一下Facebook时区规则,

Facebook总是假设您发送的start_time或end_time是在太平洋时区。所以我们有责任在太平洋时区送他们。

在上述情况下, 您在美国东部时间插入2012-05-18 10.30 PM,但Facebook假设您在太平洋时间发送它。所以它转换为UTC为2012-05-19 05:30:00。您将通过API重温。

简单地说fb_stored_time = epoch(UTC(assume_Pacific_time))

答案 1 :(得分:0)

在日期函数之前将它放在脚本中。

date_default_timezone_set('America/Los_Angeles');