困ってること
- TwitterSearchAPIで取得した投稿の投稿時間をGMT→JSTに変換すると実際のTwitterで見た投稿時間より1時間進んでしまう
前提
-
PHP 5 latest
-
Twitter Search API (/search/tweets.json)
現象
-
取得したTweetのcreated_at(投稿時間)がGMTで返ってくるため日本時間に変換すると、実際にTwitterの画面上で見た時より+1時間された時間になる
-
変換の仕方は様々試した(date({format}, strtotime(created_at)やDateTime->setTimeZone()など)が、すべて+1時間されるため、JSTへの変換処理は間違えていないはず
ぐぐって調査したところ…
-
Twitterの画面の表示時間も、デフォルトだとカルフォルニア時間で表示されるが、日本のアカウントでログインすると日本時間で表示される仕様になっている
-
そのため、夏と冬では夏時間と冬時間があるために計算処理が違っている(らしい)
-
ので、Twitter側の投稿の収集が「カルフォルニア時間」→「グリニッジ標準時」→「日本時間」というシーケンスを経ているため、「カルフォルニア時間」→「グリニッジ標準時」で計算変換されなかった夏と冬の差がAPIリクエスト時に表れているのでは
お伺いしたいこと
- 上記を前提とした場合、解決策として、夏時間が使われる間に投稿された投稿に関しては、+9時間ではなく+8時間の処理を行うようにする
というのは正しいかどうか、ご意見伺いたいです。
よろしくお願いします。
あなたの回答
tips
プレビュー