2012-05-04 6 views
0
の移行

Facebookの最近追加されたタイムゾーン以下のイベント(https://developers.facebook.com/roadmap/#timezone-less-events) FYI、ISO 8601の時間を読み込んでいる開発者は、イベントを読むときに完全な標準をサポートする必要があります(ここで定義されているように)。ほとんどのイベントはローカルタイム(GMTオフセットなし)を返しますが、将来は他のフォーマット(つまり、日付のみと正確なもの)を返します。「タイムゾーン以下のイベント」Facebookの

これはISO 8601形式の日付で動作しますが、私がエポック形式で日付を取得した場合は、常に+7時間の差があります。

GRAPHのエンドポイントを使用して

https://graph.facebook.com/369000383135224戻り

{ 
    "id": "369000383135224", 
    "owner": { 
    "name": "Horst Uwe Peter", 
    "id": "1117563687" 
    }, 
    "name": "Event in Dublin time 10:25", 
    "start_time": "2012-05-04T10:25:00", 
    "end_time": "2012-05-04T11:25:00", 
    "timezone": "Europe/Dublin", 
    "location": "Dublin, Ireland", 
    "venue": { 
    "id": "110769888951990" 
    }, 
    "privacy": "FRIENDS", 
    "updated_time": "2012-05-04T09:27:29+0000", 
    "type": "event" 
} 

http://graph.facebook.com/369000383135224?date_format=U戻り

{ 
    "id": "369000383135224", 
    "owner": { 
    "name": "Horst Uwe Peter", 
    "id": "1117563687" 
    }, 
    "name": "Event in Dublin time 10:25", 
    "start_time": 1336152300, <== Fri, 04 May 2012 17:25:00 GMT 
    "end_time": 1336155900, <== Fri, 04 May 2012 18:25:00 GMT 
    "timezone": "Europe/Dublin", 
    "location": "Dublin, Ireland", 
    "venue": { 
    "id": "110769888951990" 
    }, 
    "privacy": "FRIENDS", 
    "updated_time": 1336123649, 
    "type": "event" 
} 

とFQLと

graph.facebook.com/fql?q=SELECT EID 、名前、説明、場所、開催地、start_time、end_t IME、UPDATE_TIME、作成者、それは移行が唯一のISO 8601形式の日付のために働くEID = 369000383135224

{ 
    "data": [ 
    { 
     "eid": 369000383135224, 
     "name": "Event in Dublin time 10:25", 
     "description": "", 
     "location": "Dublin, Ireland", 
     "venue": { 
     "id": 110769888951990 
     }, 
     "start_time": 1336152300, <== Fri, 04 May 2012 18:25:00 GMT 
     "end_time": 1336155900, <== Fri, 04 May 2012 18:25:00 GMT 
     "update_time": 1336123649, 
     "creator": 1117563687, 
     "privacy": "FRIENDS" 
    } 
    ] 
} 

を意味しているイベントからのプライバシー? FQLやエポックの日付形式には何の影響もありませんか?

答えて

1

私が管理するページの私のイベントは、タイムゾーンを返さなかった。

私が見つけたのは、フロントエンドダイアログに入力されたイベント時刻は、「America/Los_Angeles」(米国夏時間の変更が完了しているので、冬は+6、+7は表示されます)その後、データベースに格納するために「UTC」に変換されます。

function fb_event_time_convert($fb_time) { 
$origin_dtz = new DateTimeZone('UTC'); 
$remote_dtz = new DateTimeZone('America/Los_Angeles'); 
$fb_time_str = '@' . $fb_time; 
$origin_dt = new DateTime($fb_time_str, $origin_dtz); 
$remote_dt = new DateTime($fb_time_str, $remote_dtz); 
$offset = $origin_dtz->getOffset($origin_dt) - $remote_dtz->getOffset($remote_dt); 
return $fb_time - $offset; 
} 
:私は、正しい時刻を表示し、時間はイベントの場所にローカルであることをページ上で注意することは、次のPHP関数を使用し、表示するために