формат даты api facebook - PullRequest
       14

формат даты api facebook

2 голосов
/ 27 февраля 2012

Я работаю над приложением facebook. Но я столкнулся со странной ошибкой (?).

Это то, что я пытаюсь получить подробную информацию о любом событии, используя график 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. Что в удобочитаемом формате равно Пт, 27 мая 2011 г. 02:00:00 по Гринвичу.

Как видите, разница между полученными датами составляет 5 часов. Иногда я получаю даты, которые отличаются на 8 часов, иногда - 6.

Правильная дата - первая: http://www.facebook.com/events/209798352393506/

Я не могу понять, что происходит. Все события, которые я пытаюсь посмотреть, из Дании. Мой часовой пояс - Европа / Киев. Разница составляет 1 час.

Это ошибка в фейсбуке? Или документированная особенность? Или я что-то не так делаю?

Ссылка на документацию или другой ответ в 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-03-23 ​​в 04:00. Разница составляет 8 часов. А второй начинается 2012-03-04 в 06:00. В этом случае разница составляет 9 часов. Зачем???

Это было из-за перехода на летнее время.

Разница во времени между мной и фейсбуком (Лос-Анджелес) иногда составляла 8, а иногда и 9 часов, потому что был момент, когда Денмакр алреди изменил свое время на летнее, а Лос-Анджелес - нет.

Проблема возникла, когда событие началось «в зимнее время» и закончилось в летнее время. В этом случае мне нужно было добавить один час.

1 Ответ

3 голосов
/ 28 февраля 2012

Фейсбук странный.

С / fql / insights /

Конец периода, в течение которого были собраны метрики, выраженные в виде Unixвремя (которое всегда должно быть полночью, по тихоокеанскому летнему времени) или с помощью функции end_time_date (), которая принимает строку даты в формате «ГГГГ-ММ-ДД».

2011-05-26T19: 00: 00 ===> 2011-05-26T19: 00: 00 PDT ===> Пт, 27 мая 2011 г. 02:00:00 по Гринвичу.

...