2012-02-27 71 views
2

我一直在facebook应用程序上工作。但是我遇到了奇怪的错误(?)。facebook api日期格式

它我试图获得有关使用图形API的任何事件的详细信息start_date不同于如果我试图使用fql得到它。例如:

  1. https://graph.facebook.com/209798352393506/ - 开始日期为2011-05-26T19:00:00

  2. https://api.facebook.com/method/fql.query?query=select%20eid%2C%20name%2C%20tagline%2C%20pic%2C%20host%20%2C%20start_time%20from%20event%20where%20eid%20%3D209798352393506 - 启动时间是1306461600.这在人类可读的格式等于周五,2011年5月27日02: 00:00 GMT。

正如你可以看到得到的日期之间的差异是5个小时。 Somtimes我得到这8小时的不同日期,有时 - 6

正确的日期是第一个: http://www.facebook.com/events/209798352393506/

我无法弄清楚发生了什么。我试图查看的所有活动都来自丹麦。我的时区是欧洲/基辅。差异是1小时。

这是一个Facebook的错误?或记录的功能?或者我做错了什么?

链接到文档或其他答案在stackoverflow就足够了。

下面是两个事件

http://www.facebook.com/events/290600150977115/ - 上2012-03-22开始于20:00

http://www.facebook.com/events/289501924395338/ - 上2012-03-03在21:00开始

不过。使用FQL我得到的第一个事件在2012年3月23日04:00开始。差异是8个小时。第二个从2012-03-04 06:00开始。在这种情况下差异是9个小时。为什么???

这是因为夏令时。

我和facebook(洛杉矶)之间的时差有时候是8小时,有时候是9小时,因为有一段时间Denmakr alredy把时间改变为夏令时和洛杉矶 - 而不是。

事件在“冬令时”开始并在夏季结束时发生问题。在这种情况下,我需要添加一个小时。

+0

也许区别是因为时区, 可能第一个命令是在您的时区获取时间和第二个在格林威治标准时间 – 2012-02-27 18:41:55

+0

感谢您的评论,但没有。我的时区和事件创建者的时区之间的区别是1小时。我的时区是GMT + 2,事件 - GMT + 1。 – 2012-02-27 18:45:12

回答

3

Facebook很奇怪。

/fql/insights/

在此期间收集的指标的时间段的结束,表示为UNIX时间(应该始终是午夜,太平洋夏令时)或使用函数end_time_date(),其采用'YYYY-MM-DD'格式的日期字符串。

2011-05-26T19:00:00 ===> 2011-05-26T19:00:00 PDT ===>星期五,2011 5月27日02:00:00 GMT。