[1] ActiveSupport::TimeZone ( (2016-03-08 07:49:58 +09:00)) <http://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html>
[2] 'timezone' tag wiki - Stack Overflow ( (2016-06-15 18:42:34 +09:00)) <http://stackoverflow.com/tags/timezone/info>
These identifiers are defined by Rails in the ActiveSupport::TimeZone class. They are based on standard IANA/Olson time zones. Rails describes them as "a meaningful subset of 146 zones", however it does not describe by what criteria it determines a zone to be "meaningful".
[3] ツイッター:設定画面,タイムライン中のタイムゾーン及び正式なタイムゾーン識別子の対応表 - Qiita ( (2016-06-17 12:58:04 +09:00)) <http://qiita.com/tachart2016_ja/items/f90a31d245416f4df407>
この Web サービスではツイートの作成日時も分析対象として扱うため、UserTimeline API で取得した世界標準時の作成日時(created_at)を地方時に変換しています。UserTimeline API が返す JSON を見たことがある方なら、user/utc_offset を足せばいいだけと思われるかもしれません。しかし user/utc_offset にはツイート「取得時」の時差が設定されています。これは夏時間のない地域なら問題ないのですが、夏時間のある地域だと単純に足すことができません。そこで user/utc_offset の使用は諦めて、まさにこういうときのためのタイムゾーン user/time_zone を使ってみようと思いましたが、これは "London" などツイッターの設定画面に表示されるユーザー向けの表示が基準となっていて正式なタイムゾーン識別子ではないためこれをそのまま使うこともできませんでした。
この Web サービスではツイートの作成日時も分析対象として扱うため、UserTimeline API で取得した世界標準時の作成日時(created_at)を地方時に変換しています。UserTimeline API が返す JSON を見たことがある方なら、user/utc_offset を足せばいいだけと思われるかもしれません。しかし user/utc_offset にはツイート「取得時」の時差が設定されています。これは夏時間のない地域なら問題ないのですが、夏時間のある地域だと単純に足すことができません。
そこで user/utc_offset の使用は諦めて、まさにこういうときのためのタイムゾーン user/time_zone を使ってみようと思いましたが、これは "London" などツイッターの設定画面に表示されるユーザー向けの表示が基準となっていて正式なタイムゾーン識別子ではないためこれをそのまま使うこともできませんでした。