2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ツイッター:設定画面,タイムライン中のタイムゾーン及び正式なタイムゾーン識別子の対応表

Last updated at Posted at 2016-06-16

はじめに

 当方 Tweet Activity Chart (http://forest.watch.impress.co.jp/docs/serial/netserv/1007839.html) という、ツイートを分析して結果をグラフ表示する(ありがちな?)Web アプリの作者です。開発言語には PHP を使っています。

 この Web アプリではツイートの作成日時も分析対象として扱うため、UserTimeline API で取得した世界標準時の作成日時(created_at)を地方時に変換しています。UserTimeline API が返す JSON を見たことがある方なら、user/utc_offset を足せばいいだけと思われるかもしれません。しかし user/utc_offset にはツイート「取得時」の時差が設定されています。これは夏時間のない地域なら問題ないのですが、夏時間のある地域だと単純に足すことができません。

 そこで user/utc_offset の使用は諦めて、まさにこういうときのためのタイムゾーン user/time_zone を使ってみようと思いましたが、これは "London" などツイッターの設定画面に表示されるユーザー向けの表示が基準となっていて正式なタイムゾーン識別子ではないためこれをそのまま使うこともできませんでした。

 この件を含めて、当初はメンションも取得できるユーザ認証としており、AccountSettings API をユーザ認証後に使って正式なタイムゾーン識別子である time_zone/tzinfo_name を取得していました。ところが利用者にとっては一番権限の少ない読込専用ですら認証というだけで敷居が高いと思われるので、ユーザ認証はやめて(※)アプリケーション認証とし、メンションの分析機能は外すことにしました。そして唯一の問題は、ユーザ認証しないと使えない AccountSettings API の代わりに正式なタイムゾーン識別子を取得する方法を探すことでした。

(※)この記事執筆時。現在はユーザ認証版もあります。

ツイッターの設定画面に表示される全143のタイムゾーンを調査してみた

 いろいろ調べてみましたが、ユーザ認証が必要な AccountSettings API 以外に正式なタイムゾーン識別子を取得する方法が分からなかったので、

  • 自分のアカウントのタイムゾーン設定をツイッターの設定画面で変える。
  • 自分のアカウントをユーザ認証して AccountSettings API を呼び出し正式なタイムゾーン識別子が設定されている time_zone/tzinfo_name を記録。
  • これを設定画面で設定可能な全143のタイムゾーンに対して行う。

という手順で途中休憩を入れたり API の Rate limit エラーが出たら他のアカウントにするなどして、半日がかりで設定画面にある全143のタイムゾーンを調査しました。このようにかなり苦労したこともあり、この度この調査結果をシェアすることにしました。

ツイッター:タイムゾーン識別子の対応表

 対応表の項目の内容は左から順に以下の通りです。

(1) No
(2) ツイッタータイムゾーン(表示)
  ツイッターの設定画面に表示されるタイムゾーン。
(3) ツイッタータイムゾーン(内部)
  UserTimeline, UsersLookup API 等で取得できる、ツイッターで内部使用されているタイムゾーン(user/time_zone)。
(4) タイムゾーン識別子
  AccountSettings API で取得できる正式なタイムゾーン識別子(time_zone/tzinfo_name)。

 例えば、「ツイッタータイムゾーン(内部)」をキー、「タイムゾーン識別子」を値として連想配列を作れば、UserTimeline や UsersLookup API で取得した user/time_zone をそのままキーにして正式なタイムゾーン識別子を取得できます。

 但しタイムゾーンの設定が行われていない(user/utc_offset や user/time_zone の値が null になっている)アカウントもあるので注意してください。

※調査日:2016年6月9日

No ツイッタータイムゾーン(表示) ツイッタータイムゾーン (内部) タイムゾーン識別子
1 (GMT-11:00) International Date Line West International Date Line West Pacific/Midway
2 (GMT-11:00) Midway Island Midway Island Pacific/Midway
3 (GMT-11:00) Samoa Samoa Pacific/Pago_Pago
4 (GMT-10:00) Hawaii Hawaii Pacific/Honolulu
5 (GMT-08:00) Alaska Alaska America/Juneau
6 (GMT-07:00) Pacific Time (US & Canada) Pacific Time (US & Canada) America/Los_Angeles
7 (GMT-07:00) Tijuana Tijuana America/Tijuana
8 (GMT-07:00) Arizona Arizona America/Phoenix
9 (GMT-06:00) Mountain Time (US & Canada) Mountain Time (US & Canada) America/Denver
10 (GMT-06:00) Chihuahua Chihuahua America/Chihuahua
11 (GMT-06:00) Mazatlan Mazatlan America/Mazatlan
12 (GMT-06:00) Sakatchewan Saskatchewan America/Regina
13 (GMT-06:00) Central America Central America America/Guatemala
14 (GMT-05:00) Central Time (US & Canada) Central Time (US & Canada) America/Chicago
15 (GMT-05:00) Gaudalajara Guadalajara America/Mexico_City
16 (GMT-05:00) Mexico City Mexico City America/Mexico_City
17 (GMT-05:00) Monterrey Monterrey America/Monterrey
18 (GMT-05:00) Bogota Bogota America/Bogota
19 (GMT-05:00) Lima Lima America/Lima
20 (GMT-05:00) Quito Quito America/Lima
21 (GMT-04:00) Eastern Time (US & Canada) Eastern Time (US & Canada) America/New_York
22 (GMT-04:00) Indiana (East) Indiana (East) America/Indiana/Indianapolis
23 (GMT-04:00) Caracas Caracas America/Caracas
24 (GMT-04:00) La Paz La Paz America/La_Paz
25 (GMT-04:00) Santiago Santiago America/Santiago
26 (GMT-04:00) Georgetown Georgetown America/Guyana
27 (GMT-03:00) Atlantic Time (Canada) Atlantic Time (Canada) America/Halifax
28 (GMT-03:00) Brasilia Brasilia America/Sao_Paulo
29 (GMT-03:00) Buenos Aires Buenos Aires America/Argentina/Buenos_Aires
30 (GMT-02:30) Newfoundland Newfoundland America/St_Johns
31 (GMT-02:00) Greenland Greenland America/Godthab
32 (GMT-02:00) Mid-Atlantic Mid-Atlantic Atlantic/South_Georgia
33 (GMT-01:00) Cape Verde Is. Cape Verde Is. Atlantic/Cape_Verde
34 (GMT) Azores Azores Atlantic/Azores
35 (GMT) Casablanca Casablanca Africa/Casablanca
36 (GMT) Monrovia Monrovia Africa/Monrovia
37 (GMT) UTC UTC UTC
38 (GMT+01:00) Dublin Dublin Europe/Dublin
39 (GMT+01:00) Edinburgh Edinburgh Europe/London
40 (GMT+01:00) Lisbon Lisbon Europe/Lisbon
41 (GMT+01:00) London London Europe/London
42 (GMT+01:00) West Central Africa West Central Africa Africa/Algiers
43 (GMT+02:00) Belgrade Belgrade Europe/Belgrade
44 (GMT+02:00) Bratislava Bratislava Europe/Bratislava
45 (GMT+02:00) Budapest Budapest Europe/Budapest
46 (GMT+02:00) Ljubljana Ljubljana Europe/Ljubljana
47 (GMT+02:00) Prague Prague Europe/Prague
48 (GMT+02:00) Sarajevo Sarajevo Europe/Sarajevo
49 (GMT+02:00) Skopje Skopje Europe/Skopje
50 (GMT+02:00) Warsaw Warsaw Europe/Warsaw
51 (GMT+02:00) Zagreb Zagreb Europe/Zagreb
52 (GMT+02:00) Brussels Brussels Europe/Brussels
53 (GMT+02:00) Copenhagen Copenhagen Europe/Copenhagen
54 (GMT+02:00) Madrid Madrid Europe/Madrid
55 (GMT+02:00) Paris Paris Europe/Paris
56 (GMT+02:00) Amsterdam Amsterdam Europe/Amsterdam
57 (GMT+02:00) Berlin Berlin Europe/Berlin
58 (GMT+02:00) Bern Bern Europe/Berlin
59 (GMT+02:00) Rome Rome Europe/Rome
60 (GMT+02:00) Stockholm Stockholm Europe/Stockholm
61 (GMT+02:00) Vienna Vienna Europe/Vienna
62 (GMT+02:00) Cairo Cairo Africa/Cairo
63 (GMT+02:00) Harare Harare Africa/Harare
64 (GMT+02:00) Pretoria Pretoria Africa/Johannesburg
65 (GMT+03:00) Bucharest Bucharest Europe/Bucharest
66 (GMT+03:00) Helsinki Helsinki Europe/Helsinki
67 (GMT+03:00) Kiev Kiev Europe/Kiev
68 (GMT+03:00) Kyiv Kyiv Europe/Kiev
69 (GMT+03:00) Riga Riga Europe/Riga
70 (GMT+03:00) Sofia Sofia Europe/Sofia
71 (GMT+03:00) Tallinn Tallinn Europe/Tallinn
72 (GMT+03:00) Vilnius Vilnius Europe/Vilnius
73 (GMT+03:00) Athens Athens Europe/Athens
74 (GMT+03:00) Istanbul Istanbul Europe/Istanbul
75 (GMT+03:00) Minsk Minsk Europe/Minsk
76 (GMT+03:00) Jerusalem Jerusalem Asia/Jerusalem
77 (GMT+03:00) Moscow Moscow Europe/Moscow
78 (GMT+03:00) St. Petersburg St. Petersburg Europe/Moscow
79 (GMT+03:00) Volgograd Volgograd Europe/Moscow
80 (GMT+03:00) Kuwait Kuwait Asia/Kuwait
81 (GMT+03:00) Riyadh Riyadh Asia/Riyadh
82 (GMT+03:00) Nairobi Nairobi Africa/Nairobi
83 (GMT+03:00) Baghdad Baghdad Asia/Baghdad
84 (GMT+04:00) Abu Dhabi Abu Dhabi Asia/Muscat
85 (GMT+04:00) Muscat Muscat Asia/Muscat
86 (GMT+04:00) Baku Baku Asia/Baku
87 (GMT+04:00) Tbilisi Tbilisi Asia/Tbilisi
88 (GMT+04:00) Yerevan Yerevan Asia/Yerevan
89 (GMT+04:30) Tehran Tehran Asia/Tehran
90 (GMT+04:30) Kabul Kabul Asia/Kabul
91 (GMT+05:00) Ekaterinburg Ekaterinburg Asia/Yekaterinburg
92 (GMT+05:00) Islamabad Islamabad Asia/Karachi
93 (GMT+05:00) Karachi Karachi Asia/Karachi
94 (GMT+05:00) Tashkent Tashkent Asia/Tashkent
95 (GMT+05:30) Chennai Chennai Asia/Kolkata
96 (GMT+05:30) Kolkata Kolkata Asia/Kolkata
97 (GMT+05:30) Mumbai Mumbai Asia/Kolkata
98 (GMT+05:30) New Delhi New Delhi Asia/Kolkata
99 (GMT+05:30) Sri Jayawardenepura Sri Jayawardenepura Asia/Colombo
100 (GMT+05:45) Kathmandu Kathmandu Asia/Kathmandu
101 (GMT+06:00) Astana Astana Asia/Dhaka
102 (GMT+06:00) Dhaka Dhaka Asia/Dhaka
103 (GMT+06:00) Almaty Almaty Asia/Almaty
104 (GMT+06:00) Novosibirsk Novosibirsk Asia/Novosibirsk
105 (GMT+06:00) Urumqi Urumqi Asia/Urumqi
106 (GMT+06:30) Rangoon Rangoon Asia/Rangoon
107 (GMT+07:00) Bangkok Bangkok Asia/Bangkok
108 (GMT+07:00) Hanoi Hanoi Asia/Bangkok
109 (GMT+07:00) Jakarta Jakarta Asia/Jakarta
110 (GMT+07:00) Krasnoyarsk Krasnoyarsk Asia/Krasnoyarsk
111 (GMT+08:00) Beijing Beijing Asia/Shanghai
112 (GMT+08:00) Chongqing Chongqing Asia/Chongqing
113 (GMT+08:00) Hong Kong Hong Kong Asia/Hong_Kong
114 (GMT+08:00) Kuala Lumpur Kuala Lumpur Asia/Kuala_Lumpur
115 (GMT+08:00) Singapore Singapore Singapore
116 (GMT+08:00) Taipei Taipei Asia/Taipei
117 (GMT+08:00) Perth Perth Australia/Perth
118 (GMT+08:00) Irkutsk Irkutsk Asia/Irkutsk
119 (GMT+09:00) Ulaan Bataar Ulaan Bataar Asia/Ulaanbaatar
120 (GMT+09:00) Seoul Seoul Asia/Seoul
121 (GMT+09:00) Osaka Osaka Asia/Tokyo
122 (GMT+09:00) Sapporo Sapporo Asia/Tokyo
123 (GMT+09:00) Tokyo Tokyo Asia/Tokyo
124 (GMT+09:00) Yakutsk Yakutsk Asia/Yakutsk
125 (GMT+09:30) Darwin Darwin Australia/Darwin
126 (GMT+09:30) Adelaide Adelaide Australia/Adelaide
127 (GMT+10:00) Canberra Canberra Australia/Melbourne
128 (GMT+10:00) Melbourne Melbourne Australia/Melbourne
129 (GMT+10:00) Sydney Sydney Australia/Sydney
130 (GMT+10:00) Brisbane Brisbane Australia/Brisbane
131 (GMT+10:00) Hobart Hobart Australia/Hobart
132 (GMT+10:00) Vladivostok Vladivostok Asia/Vladivostok
133 (GMT+10:00) Guam Guam Pacific/Guam
134 (GMT+10:00) Port Moresby Port Moresby Pacific/Port_Moresby
135 (GMT+10:00) Solomon ls. Solomon Is. Asia/Vladivostok
136 (GMT+11:00) Magadan Magadan Asia/Magadan
137 (GMT+11:00) New Caledonia New Caledonia Pacific/Noumea
138 (GMT+12:00) Fiji Fiji Pacific/Fiji
139 (GMT+12:00) Kamchatka Kamchatka Asia/Kamchatka
140 (GMT+12:00) Marshall Is. Marshall Is. Pacific/Majuro
141 (GMT+12:00) Auckland Auckland Pacific/Auckland
142 (GMT+12:00) Wellington Wellington Pacific/Auckland
143 (GMT+13:00) Nuku'alofa Nuku'alofa Pacific/Tongatapu
2
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?