Я пытался отобразить статус created_at
Время в местном времени пользователей через API ниже.
$content = $connection->get('statuses/home_timeline', array('count' => 14));
отклик (для удобства чтения я разместил 2 поля из каждого результата):
[created_at] => Sun Dec 14 04:58:58 +0000 2014
[utc_offset] => 19800
[created_at] => Sun Dec 14 04:58:11 +0000 2014
[utc_offset] => -28800
[created_at] => Sun Dec 14 04:57:56 +0000 2014
[utc_offset] =>
В ответе выше, вы можете увидеть в результате utc_offset
пустой. Так,
Благодаря моим исследованиям,
я обнаружил, что мы можем получить текущее время пользователей по местному
utc_offset
на 3600.Но что если в случае, если utc_offset
поле пустое?
Чтобы ответить на вопрос № 2, часовой пояс по умолчанию — GMT (UTC). Посмотрите на формат строки даты / времени:
Вс 14 дек 04:58:58 +0000 2014
+0000 означает, что часовой пояс GMT. GMT всегда +0000.
Чтобы ответить на ваш другой вопрос:
Если utc_offset равен нулю, то это означает, что пользователь не установил часовой пояс в своем профиле. В этом случае вам придется использовать 0 в качестве смещения и предположить, что они в GMT. Однако, если они имеют геотеггинг, вы можете определить их местоположение по координатам. Однако я не уверен, работает ли геотеггинг без часового пояса в профиле.
Других решений пока нет …