1

Facebook がイベントの開始時刻と終了時刻を PST として保存しているさまざまなソースから取得しました。しかし、私が見逃しているものがあるに違いありません。私が作成したこのFacebookイベントを見てください。私はイタリアに住んでいて、実際にイベント時間を挿入すると、UTC + 2 と表示2012-05-18 10.30 PMされます。イベントの開始時間として挿入します。PST は GMT -7 である必要があるため (夏時間のため)、これは太平洋時間の午後 1 時 30 分として保存されることを期待しています。でももしそうなら

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

$start2012-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 呼び出しは使用しません。

4

2 に答える 2

4

Facebookのタイムゾーンルールについて説明します。

Facebookは、送信するstart_timeまたはend_timeが太平洋標準時であると常に想定しています。したがって、太平洋時間帯でそれらを送信するのは私たちの責任です。

上記の場合、ESTに2012-05-18 10.30 PMを挿入しましたが、Facebookは太平洋時間に送信していると想定しています。したがって、2012-05-1905:30:00としてUTCに変換されます。APIを介して受信します。

単にfb_stored_time=epoch(UTC(assumed_Pacific_time))

于 2012-05-15T12:52:01.670 に答える
0

これを日付関数の前にスクリプトに入れます。

date_default_timezone_set('America/Los_Angeles');  
于 2012-11-27T07:20:45.357 に答える