Форматирование даты и времени, которые возвращаются из create_at

Я пытался отобразить статус 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 пустой. Так,

  1. Как мне узнать текущее местное время пользователя?
  2. Какой часовой пояс по умолчанию мы получаем в create_at?
  3. Как преобразовать сгенерированную Twitter Twitter TimeDate для локальных пользователей
    часовой пояс?

Благодаря моим исследованиям,
я обнаружил, что мы можем получить текущее время пользователей по местному

  • Дайвинг utc_offset на 3600.
  • Затем добавьте эти значения во время созданного времени.

Но что если в случае, если utc_offset поле пустое?

1

Решение

Чтобы ответить на вопрос № 2, часовой пояс по умолчанию — GMT (UTC). Посмотрите на формат строки даты / времени:

Вс 14 дек 04:58:58 +0000 2014

+0000 означает, что часовой пояс GMT. GMT всегда +0000.

Чтобы ответить на ваш другой вопрос:

Если utc_offset равен нулю, то это означает, что пользователь не установил часовой пояс в своем профиле. В этом случае вам придется использовать 0 в качестве смещения и предположить, что они в GMT. Однако, если они имеют геотеггинг, вы можете определить их местоположение по координатам. Однако я не уверен, работает ли геотеггинг без часового пояса в профиле.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]