데이터 분석 등을 위해 API나 크롤링 등의 여러 방법으로 자료를 수집할 수 있다. 이때 획득한 자료에는 대부분 시간에 대한 정보를 포함하는 것을 경험적으로 알 수 있다. 이를 통해 시계열 분석 등에 활용할 수 있을 것인데, 초심자의 경우 이때 얻은 시간에 대해 의심해볼 필요가 있다. 겉으로 표시되어 있는 시간이 우리가 원하는 시간이 아닐 수도 있기 때문이다. 아래 예시를 보면 무슨 말인지 이해가 쉬울 것이다. 겉보기에는 2021년 1월 1일 0시 0분 0.0초 같아보인다.
하지만 이는 UTC시간이며, 실제 한국시간은 +9시간을 한 9시 0분 0초일 것이다. 이러한 경우에 주의가 필요하다는 것이다.
| "2021-01-01T00:00:00.000Z" |
시간을 표기하는 방법도 다양하지만, 이런 방법에 대해서는 다음번에 다뤄보기로 하고, 오늘은 얻은 시간이 UTC기준일 경우, 원하는 시간대로 표기하는 과정 등에서 필요한 Timezone에 대한 정보를 출력하는 것을 다뤄본다.
이에 앞서 먼저 UTC의 개념에 대해 알아보자.
UTC(Coordinated Universal Time)는 우리말로 협정 세계표준시라고 한다. 이로 알 수 있듯, 세계 표준으로 사용되는 시간이다. 또한, 그리니치평균시로 불리는 GMT(Greenwich Mean Time)에 대해서는 아마 대부분 중학교 사회 교과목에서 들어본 적이 있을 것이다. 그러면 두 개는 어떻게 다르냐? UTC는 1972년 1월 1일부터 시행된 국제 표준시로, 국제원자시와 윤초 보정을 기반으로 표준화되었다. 또한, UTC는 GMT에 기반하여 거의 비슷하나, 위에서 언급하였듯 보정된 시간이기때문에 보다 정확하고, GMT와는 소수점단위의 초의 미미한 차이로 일반인들에게는 혼동되어 사용된다.
이와 함께 KST를 알아보자.
KST(Korea Standard Time)란 한국표준시로, 한국에서 사용되는 시간을 의미한다. 즉, 우리가 보편적으로 사용하는 시간이다.
이와 같이 각 국가나 지역별로 표준시간대를 정해서 사용하는데, 이를 Timezone이라고 하며, 세계표준시인 UTC를 기준으로 얼마나 차이나는지(time offset)를 표기하며 각 국가별로 표준시 이름을 정하여 표기한다.
예를들어 KST를 표준시간대로 채택하여 사용하는 대한민국과 북한의 표준시 표기방법을 아래와 같이 나타낼 수 있다.
| Asia/Seoul UTC+0900(KST) Asia/Pyongyang UTC+0900(KST) |
위의 표기방법에서 UTC는 GMT로 혼용하여 쓰기도 한다.
표기 방법의 예시에 대한 설명을 간단히 해보면 하나의 국가에서 다른 시간대를 갖는 경우가 있기 때문에, 대륙/대표지역으로 표기하며 이후 UTC를 기준으로 +9시간 난다고 하여, +0900으로 표기하는 것을 보아 hhmm과 같은 format으로 표기하는 것을 알 수 있다. 이후 표준시에 대한 이름을 함께 표기한다.
이제 Python을 통해 흔히 쓰이는 Timezone과 UTC offset, Time zone name을 불러와 위의 표기법과 같이 출력해 보자.
from pytz import common_timezones
from datetime import datetime
from pytz import timezone
timeoffset_format = "GMT%z(%Z)"
# UTC offset in the form ±HHMM, Time zone name
for ctz in enumerate(common_timezones):
print(ctz[0], '\t', ctz[1], '\t', datetime.now(timezone(ctz[1])).strftime(timeoffset_format))
pytz 패키지의 common_timzones에는 흔히 사용되는 유용한 시간대에 대한 지역명을 Asia/Seoul과 같이 포함한다. list자료구조로 구성되어 있기 때문에 for문을 통해 출력하여 활용할 수 있다.
이를 Python의 for문을 통해 출력하는데, 이에 대한 번호를 함께 출력하기 위해 enumerate구문을 활용하였으며, 우리가 얻고자하는 UTC로부터의 시간차(UTC offset)와 Time zone name을 함께 출력하기 위해 위와 같이 먼저
datetime.now()를 통해 오늘의 시간을 가져오는데, 이때 시간대에 대한 정보를 포함한 datetime을 return하여 아래와 같은 정보를 얻는다.
※ enumerate 구문이 생소할 수 있지만, 이에 대한 설명은 다른 자료를 참고하길 바란다.
| 2021-01-15 01:16:57.403709+09:00 |
그 후 timeoffset_format과 같이 정의된 시간에 대한 format을 적용하여 원하는 형태인 GMT+0900(KST)로 출력한 것이다.
이때, 시간 포매팅 문자는 아래를 참고하여 원하는 형태로 출력할 수 있다.
| Directive | Meaning | Example |
|
%a |
Weekday as locale’s abbreviated name. |
Sun, Mon, …, Sat (en_US); So, Mo, …, Sa (de_DE) |
|
%A |
Weekday as locale’s full name. |
Sunday, Monday, …, Saturday (en_US); Sonntag, Montag, …, Samstag (de_DE) |
|
%w |
Weekday as a decimal number, where 0 is Sunday and 6 is Saturday. |
0, 1, …, 6 |
|
%d |
Day of the month as a zero-padded decimal number. |
01, 02, …, 31 |
|
%b |
Month as locale’s abbreviated name. |
Jan, Feb, …, Dec (en_US); Jan, Feb, …, Dez (de_DE) |
|
%B |
Month as locale’s full name. |
January, February, …, December (en_US); Januar, Februar, …, Dezember (de_DE) |
|
%m |
Month as a zero-padded decimal number. |
01, 02, …, 12 |
|
%y |
Year without century as a zero-padded decimal number. |
00, 01, …, 99 |
|
%Y |
Year with century as a decimal number. |
0001, 0002, …, 2013, 2014, …, 9998, 9999 |
|
%H |
Hour (24-hour clock) as a zero-padded decimal number. |
00, 01, …, 23 |
|
%I |
Hour (12-hour clock) as a zero-padded decimal number. |
01, 02, …, 12 |
|
%p |
Locale’s equivalent of either AM or PM. |
AM, PM (en_US); am, pm (de_DE) |
|
%M |
Minute as a zero-padded decimal number. |
00, 01, …, 59 |
|
%S |
Second as a zero-padded decimal number. |
00, 01, …, 59 |
|
%f |
Microsecond as a decimal number, zero-padded on the left. |
000000, 000001, …, 999999 |
|
%z |
UTC offset in the form ±HHMM[SS[.ffffff]] (empty string if the object is naive). |
(empty), +0000, -0400, +1030, +063415, -030712.345216 |
|
%Z |
Time zone name (empty string if the object is naive). |
(empty), UTC, GMT |
|
%j |
Day of the year as a zero-padded decimal number. |
001, 002, …, 366 |
|
%U |
Week number of the year (Sunday as the first day of the week) as a zero padded decimal number. All days in a new year preceding the first Sunday are considered to be in week 0. |
00, 01, …, 53 |
|
%W |
Week number of the year (Monday as the first day of the week) as a decimal number. All days in a new year preceding the first Monday are considered to be in week 0. |
00, 01, …, 53 |
|
%c |
Locale’s appropriate date and time representation. |
Tue Aug 16 21:30:00 1988 (en_US); Di 16 Aug 21:30:00 1988 (de_DE) |
|
%x |
Locale’s appropriate date representation. |
08/16/88 (None); 08/16/1988 (en_US); 16.08.1988 (de_DE) |
|
%X |
Locale’s appropriate time representation. |
21:30:00 (en_US); 21:30:00 (de_DE) |
|
%% |
A literal '%' character. |
% |
|
%G |
ISO 8601 year with century representing the year that contains the greater part of the ISO week (%V). |
0001, 0002, …, 2013, 2014, …, 9998, 9999 |
|
%u |
ISO 8601 weekday as a decimal number where 1 is Monday. |
1, 2, …, 7 |
|
%V |
ISO 8601 week as a decimal number with Monday as the first day of the week. Week 01 is the week containing Jan 4. |
01, 02, …, 53 |
실행결과
0 Africa/Abidjan GMT+0000(GMT)
1 Africa/Accra GMT+0000(GMT)
2 Africa/Addis_Ababa GMT+0300(EAT)
3 Africa/Algiers GMT+0100(CET)
4 Africa/Asmara GMT+0300(EAT)
5 Africa/Bamako GMT+0000(GMT)
6 Africa/Bangui GMT+0100(WAT)
7 Africa/Banjul GMT+0000(GMT)
8 Africa/Bissau GMT+0000(GMT)
9 Africa/Blantyre GMT+0200(CAT)
10 Africa/Brazzaville GMT+0100(WAT)
11 Africa/Bujumbura GMT+0200(CAT)
12 Africa/Cairo GMT+0200(EET)
13 Africa/Casablanca GMT+0100(+01)
14 Africa/Ceuta GMT+0100(CET)
15 Africa/Conakry GMT+0000(GMT)
16 Africa/Dakar GMT+0000(GMT)
17 Africa/Dar_es_Salaam GMT+0300(EAT)
18 Africa/Djibouti GMT+0300(EAT)
19 Africa/Douala GMT+0100(WAT)
20 Africa/El_Aaiun GMT+0100(+01)
21 Africa/Freetown GMT+0000(GMT)
22 Africa/Gaborone GMT+0200(CAT)
23 Africa/Harare GMT+0200(CAT)
24 Africa/Johannesburg GMT+0200(SAST)
25 Africa/Juba GMT+0300(EAT)
26 Africa/Kampala GMT+0300(EAT)
27 Africa/Khartoum GMT+0200(CAT)
28 Africa/Kigali GMT+0200(CAT)
29 Africa/Kinshasa GMT+0100(WAT)
30 Africa/Lagos GMT+0100(WAT)
31 Africa/Libreville GMT+0100(WAT)
32 Africa/Lome GMT+0000(GMT)
33 Africa/Luanda GMT+0100(WAT)
34 Africa/Lubumbashi GMT+0200(CAT)
35 Africa/Lusaka GMT+0200(CAT)
36 Africa/Malabo GMT+0100(WAT)
37 Africa/Maputo GMT+0200(CAT)
38 Africa/Maseru GMT+0200(SAST)
39 Africa/Mbabane GMT+0200(SAST)
40 Africa/Mogadishu GMT+0300(EAT)
41 Africa/Monrovia GMT+0000(GMT)
42 Africa/Nairobi GMT+0300(EAT)
43 Africa/Ndjamena GMT+0100(WAT)
44 Africa/Niamey GMT+0100(WAT)
45 Africa/Nouakchott GMT+0000(GMT)
46 Africa/Ouagadougou GMT+0000(GMT)
47 Africa/Porto-Novo GMT+0100(WAT)
48 Africa/Sao_Tome GMT+0000(GMT)
49 Africa/Tripoli GMT+0200(EET)
50 Africa/Tunis GMT+0100(CET)
51 Africa/Windhoek GMT+0200(CAT)
52 America/Adak GMT-1000(HST)
53 America/Anchorage GMT-0900(AKST)
54 America/Anguilla GMT-0400(AST)
55 America/Antigua GMT-0400(AST)
56 America/Araguaina GMT-0300(-03)
57 America/Argentina/Buenos_Aires GMT-0300(-03)
58 America/Argentina/Catamarca GMT-0300(-03)
59 America/Argentina/Cordoba GMT-0300(-03)
60 America/Argentina/Jujuy GMT-0300(-03)
61 America/Argentina/La_Rioja GMT-0300(-03)
62 America/Argentina/Mendoza GMT-0300(-03)
63 America/Argentina/Rio_Gallegos GMT-0300(-03)
64 America/Argentina/Salta GMT-0300(-03)
65 America/Argentina/San_Juan GMT-0300(-03)
66 America/Argentina/San_Luis GMT-0300(-03)
67 America/Argentina/Tucuman GMT-0300(-03)
68 America/Argentina/Ushuaia GMT-0300(-03)
69 America/Aruba GMT-0400(AST)
70 America/Asuncion GMT-0300(-03)
71 America/Atikokan GMT-0500(EST)
72 America/Bahia GMT-0300(-03)
73 America/Bahia_Banderas GMT-0600(CST)
74 America/Barbados GMT-0400(AST)
75 America/Belem GMT-0300(-03)
76 America/Belize GMT-0600(CST)
77 America/Blanc-Sablon GMT-0400(AST)
78 America/Boa_Vista GMT-0400(-04)
79 America/Bogota GMT-0500(-05)
80 America/Boise GMT-0700(MST)
81 America/Cambridge_Bay GMT-0700(MST)
82 America/Campo_Grande GMT-0300(-03)
83 America/Cancun GMT-0500(EST)
84 America/Caracas GMT-0400(-04)
85 America/Cayenne GMT-0300(-03)
86 America/Cayman GMT-0500(EST)
87 America/Chicago GMT-0600(CST)
88 America/Chihuahua GMT-0700(MST)
89 America/Costa_Rica GMT-0600(CST)
90 America/Creston GMT-0700(MST)
91 America/Cuiaba GMT-0300(-03)
92 America/Curacao GMT-0400(AST)
93 America/Danmarkshavn GMT+0000(GMT)
94 America/Dawson GMT-0800(PST)
95 America/Dawson_Creek GMT-0700(MST)
96 America/Denver GMT-0700(MST)
97 America/Detroit GMT-0500(EST)
98 America/Dominica GMT-0400(AST)
99 America/Edmonton GMT-0700(MST)
100 America/Eirunepe GMT-0500(-05)
101 America/El_Salvador GMT-0600(CST)
102 America/Fort_Nelson GMT-0700(MST)
103 America/Fortaleza GMT-0300(-03)
104 America/Glace_Bay GMT-0400(AST)
105 America/Godthab GMT-0300(-03)
106 America/Goose_Bay GMT-0400(AST)
107 America/Grand_Turk GMT-0500(EST)
108 America/Grenada GMT-0400(AST)
109 America/Guadeloupe GMT-0400(AST)
110 America/Guatemala GMT-0600(CST)
111 America/Guayaquil GMT-0500(-05)
112 America/Guyana GMT-0400(-04)
113 America/Halifax GMT-0400(AST)
114 America/Havana GMT-0500(CST)
115 America/Hermosillo GMT-0700(MST)
116 America/Indiana/Indianapolis GMT-0500(EST)
117 America/Indiana/Knox GMT-0600(CST)
118 America/Indiana/Marengo GMT-0500(EST)
119 America/Indiana/Petersburg GMT-0500(EST)
120 America/Indiana/Tell_City GMT-0600(CST)
121 America/Indiana/Vevay GMT-0500(EST)
122 America/Indiana/Vincennes GMT-0500(EST)
123 America/Indiana/Winamac GMT-0500(EST)
124 America/Inuvik GMT-0700(MST)
125 America/Iqaluit GMT-0500(EST)
126 America/Jamaica GMT-0500(EST)
127 America/Juneau GMT-0900(AKST)
128 America/Kentucky/Louisville GMT-0500(EST)
129 America/Kentucky/Monticello GMT-0500(EST)
130 America/Kralendijk GMT-0400(AST)
131 America/La_Paz GMT-0400(-04)
132 America/Lima GMT-0500(-05)
133 America/Los_Angeles GMT-0800(PST)
134 America/Lower_Princes GMT-0400(AST)
135 America/Maceio GMT-0300(-03)
136 America/Managua GMT-0600(CST)
137 America/Manaus GMT-0400(-04)
138 America/Marigot GMT-0400(AST)
139 America/Martinique GMT-0400(AST)
140 America/Matamoros GMT-0600(CST)
141 America/Mazatlan GMT-0700(MST)
142 America/Menominee GMT-0600(CST)
143 America/Merida GMT-0600(CST)
144 America/Metlakatla GMT-0900(AKST)
145 America/Mexico_City GMT-0600(CST)
146 America/Miquelon GMT-0300(-03)
147 America/Moncton GMT-0400(AST)
148 America/Monterrey GMT-0600(CST)
149 America/Montevideo GMT-0300(-03)
150 America/Montserrat GMT-0400(AST)
151 America/Nassau GMT-0500(EST)
152 America/New_York GMT-0500(EST)
153 America/Nipigon GMT-0500(EST)
154 America/Nome GMT-0900(AKST)
155 America/Noronha GMT-0200(-02)
156 America/North_Dakota/Beulah GMT-0600(CST)
157 America/North_Dakota/Center GMT-0600(CST)
158 America/North_Dakota/New_Salem GMT-0600(CST)
159 America/Ojinaga GMT-0700(MST)
160 America/Panama GMT-0500(EST)
161 America/Pangnirtung GMT-0500(EST)
162 America/Paramaribo GMT-0300(-03)
163 America/Phoenix GMT-0700(MST)
164 America/Port-au-Prince GMT-0500(EST)
165 America/Port_of_Spain GMT-0400(AST)
166 America/Porto_Velho GMT-0400(-04)
167 America/Puerto_Rico GMT-0400(AST)
168 America/Punta_Arenas GMT-0300(-03)
169 America/Rainy_River GMT-0600(CST)
170 America/Rankin_Inlet GMT-0600(CST)
171 America/Recife GMT-0300(-03)
172 America/Regina GMT-0600(CST)
173 America/Resolute GMT-0600(CST)
174 America/Rio_Branco GMT-0500(-05)
175 America/Santarem GMT-0300(-03)
176 America/Santiago GMT-0300(-03)
177 America/Santo_Domingo GMT-0400(AST)
178 America/Sao_Paulo GMT-0200(-02)
179 America/Scoresbysund GMT-0100(-01)
180 America/Sitka GMT-0900(AKST)
181 America/St_Barthelemy GMT-0400(AST)
182 America/St_Johns GMT-0330(NST)
183 America/St_Kitts GMT-0400(AST)
184 America/St_Lucia GMT-0400(AST)
185 America/St_Thomas GMT-0400(AST)
186 America/St_Vincent GMT-0400(AST)
187 America/Swift_Current GMT-0600(CST)
188 America/Tegucigalpa GMT-0600(CST)
189 America/Thule GMT-0400(AST)
190 America/Thunder_Bay GMT-0500(EST)
191 America/Tijuana GMT-0800(PST)
192 America/Toronto GMT-0500(EST)
193 America/Tortola GMT-0400(AST)
194 America/Vancouver GMT-0800(PST)
195 America/Whitehorse GMT-0800(PST)
196 America/Winnipeg GMT-0600(CST)
197 America/Yakutat GMT-0900(AKST)
198 America/Yellowknife GMT-0700(MST)
199 Antarctica/Casey GMT+0800(+08)
200 Antarctica/Davis GMT+0700(+07)
201 Antarctica/DumontDUrville GMT+1000(+10)
202 Antarctica/Macquarie GMT+1100(+11)
203 Antarctica/Mawson GMT+0500(+05)
204 Antarctica/McMurdo GMT+1300(NZDT)
205 Antarctica/Palmer GMT-0300(-03)
206 Antarctica/Rothera GMT-0300(-03)
207 Antarctica/Syowa GMT+0300(+03)
208 Antarctica/Troll GMT+0000(+00)
209 Antarctica/Vostok GMT+0600(+06)
210 Arctic/Longyearbyen GMT+0100(CET)
211 Asia/Aden GMT+0300(+03)
212 Asia/Almaty GMT+0600(+06)
213 Asia/Amman GMT+0200(EET)
214 Asia/Anadyr GMT+1200(+12)
215 Asia/Aqtau GMT+0500(+05)
216 Asia/Aqtobe GMT+0500(+05)
217 Asia/Ashgabat GMT+0500(+05)
218 Asia/Atyrau GMT+0500(+05)
219 Asia/Baghdad GMT+0300(+03)
220 Asia/Bahrain GMT+0300(+03)
221 Asia/Baku GMT+0400(+04)
222 Asia/Bangkok GMT+0700(+07)
223 Asia/Barnaul GMT+0700(+07)
224 Asia/Beirut GMT+0200(EET)
225 Asia/Bishkek GMT+0600(+06)
226 Asia/Brunei GMT+0800(+08)
227 Asia/Chita GMT+0900(+09)
228 Asia/Choibalsan GMT+0800(+08)
229 Asia/Colombo GMT+0530(+0530)
230 Asia/Damascus GMT+0200(EET)
231 Asia/Dhaka GMT+0600(+06)
232 Asia/Dili GMT+0900(+09)
233 Asia/Dubai GMT+0400(+04)
234 Asia/Dushanbe GMT+0500(+05)
235 Asia/Famagusta GMT+0200(EET)
236 Asia/Gaza GMT+0200(EET)
237 Asia/Hebron GMT+0200(EET)
238 Asia/Ho_Chi_Minh GMT+0700(+07)
239 Asia/Hong_Kong GMT+0800(HKT)
240 Asia/Hovd GMT+0700(+07)
241 Asia/Irkutsk GMT+0800(+08)
242 Asia/Jakarta GMT+0700(WIB)
243 Asia/Jayapura GMT+0900(WIT)
244 Asia/Jerusalem GMT+0200(IST)
245 Asia/Kabul GMT+0430(+0430)
246 Asia/Kamchatka GMT+1200(+12)
247 Asia/Karachi GMT+0500(PKT)
248 Asia/Kathmandu GMT+0545(+0545)
249 Asia/Khandyga GMT+0900(+09)
250 Asia/Kolkata GMT+0530(IST)
251 Asia/Krasnoyarsk GMT+0700(+07)
252 Asia/Kuala_Lumpur GMT+0800(+08)
253 Asia/Kuching GMT+0800(+08)
254 Asia/Kuwait GMT+0300(+03)
255 Asia/Macau GMT+0800(CST)
256 Asia/Magadan GMT+1100(+11)
257 Asia/Makassar GMT+0800(WITA)
258 Asia/Manila GMT+0800(PST)
259 Asia/Muscat GMT+0400(+04)
260 Asia/Nicosia GMT+0200(EET)
261 Asia/Novokuznetsk GMT+0700(+07)
262 Asia/Novosibirsk GMT+0700(+07)
263 Asia/Omsk GMT+0600(+06)
264 Asia/Oral GMT+0500(+05)
265 Asia/Phnom_Penh GMT+0700(+07)
266 Asia/Pontianak GMT+0700(WIB)
267 Asia/Pyongyang GMT+0900(KST)
268 Asia/Qatar GMT+0300(+03)
269 Asia/Qostanay GMT+0600(+06)
270 Asia/Qyzylorda GMT+0500(+05)
271 Asia/Riyadh GMT+0300(+03)
272 Asia/Sakhalin GMT+1100(+11)
273 Asia/Samarkand GMT+0500(+05)
274 Asia/Seoul GMT+0900(KST)
275 Asia/Shanghai GMT+0800(CST)
276 Asia/Singapore GMT+0800(+08)
277 Asia/Srednekolymsk GMT+1100(+11)
278 Asia/Taipei GMT+0800(CST)
279 Asia/Tashkent GMT+0500(+05)
280 Asia/Tbilisi GMT+0400(+04)
281 Asia/Tehran GMT+0330(+0330)
282 Asia/Thimphu GMT+0600(+06)
283 Asia/Tokyo GMT+0900(JST)
284 Asia/Tomsk GMT+0700(+07)
285 Asia/Ulaanbaatar GMT+0800(+08)
286 Asia/Urumqi GMT+0600(+06)
287 Asia/Ust-Nera GMT+1000(+10)
288 Asia/Vientiane GMT+0700(+07)
289 Asia/Vladivostok GMT+1000(+10)
290 Asia/Yakutsk GMT+0900(+09)
291 Asia/Yangon GMT+0630(+0630)
292 Asia/Yekaterinburg GMT+0500(+05)
293 Asia/Yerevan GMT+0400(+04)
294 Atlantic/Azores GMT-0100(-01)
295 Atlantic/Bermuda GMT-0400(AST)
296 Atlantic/Canary GMT+0000(WET)
297 Atlantic/Cape_Verde GMT-0100(-01)
298 Atlantic/Faroe GMT+0000(WET)
299 Atlantic/Madeira GMT+0000(WET)
300 Atlantic/Reykjavik GMT+0000(GMT)
301 Atlantic/South_Georgia GMT-0200(-02)
302 Atlantic/St_Helena GMT+0000(GMT)
303 Atlantic/Stanley GMT-0300(-03)
304 Australia/Adelaide GMT+1030(ACDT)
305 Australia/Brisbane GMT+1000(AEST)
306 Australia/Broken_Hill GMT+1030(ACDT)
307 Australia/Currie GMT+1100(AEDT)
308 Australia/Darwin GMT+0930(ACST)
309 Australia/Eucla GMT+0845(+0845)
310 Australia/Hobart GMT+1100(AEDT)
311 Australia/Lindeman GMT+1000(AEST)
312 Australia/Lord_Howe GMT+1100(+11)
313 Australia/Melbourne GMT+1100(AEDT)
314 Australia/Perth GMT+0800(AWST)
315 Australia/Sydney GMT+1100(AEDT)
316 Canada/Atlantic GMT-0400(AST)
317 Canada/Central GMT-0600(CST)
318 Canada/Eastern GMT-0500(EST)
319 Canada/Mountain GMT-0700(MST)
320 Canada/Newfoundland GMT-0330(NST)
321 Canada/Pacific GMT-0800(PST)
322 Europe/Amsterdam GMT+0100(CET)
323 Europe/Andorra GMT+0100(CET)
324 Europe/Astrakhan GMT+0400(+04)
325 Europe/Athens GMT+0200(EET)
326 Europe/Belgrade GMT+0100(CET)
327 Europe/Berlin GMT+0100(CET)
328 Europe/Bratislava GMT+0100(CET)
329 Europe/Brussels GMT+0100(CET)
330 Europe/Bucharest GMT+0200(EET)
331 Europe/Budapest GMT+0100(CET)
332 Europe/Busingen GMT+0100(CET)
333 Europe/Chisinau GMT+0200(EET)
334 Europe/Copenhagen GMT+0100(CET)
335 Europe/Dublin GMT+0000(GMT)
336 Europe/Gibraltar GMT+0100(CET)
337 Europe/Guernsey GMT+0000(GMT)
338 Europe/Helsinki GMT+0200(EET)
339 Europe/Isle_of_Man GMT+0000(GMT)
340 Europe/Istanbul GMT+0300(+03)
341 Europe/Jersey GMT+0000(GMT)
342 Europe/Kaliningrad GMT+0200(EET)
343 Europe/Kiev GMT+0200(EET)
344 Europe/Kirov GMT+0300(+03)
345 Europe/Lisbon GMT+0000(WET)
346 Europe/Ljubljana GMT+0100(CET)
347 Europe/London GMT+0000(GMT)
348 Europe/Luxembourg GMT+0100(CET)
349 Europe/Madrid GMT+0100(CET)
350 Europe/Malta GMT+0100(CET)
351 Europe/Mariehamn GMT+0200(EET)
352 Europe/Minsk GMT+0300(+03)
353 Europe/Monaco GMT+0100(CET)
354 Europe/Moscow GMT+0300(MSK)
355 Europe/Oslo GMT+0100(CET)
356 Europe/Paris GMT+0100(CET)
357 Europe/Podgorica GMT+0100(CET)
358 Europe/Prague GMT+0100(CET)
359 Europe/Riga GMT+0200(EET)
360 Europe/Rome GMT+0100(CET)
361 Europe/Samara GMT+0400(+04)
362 Europe/San_Marino GMT+0100(CET)
363 Europe/Sarajevo GMT+0100(CET)
364 Europe/Saratov GMT+0400(+04)
365 Europe/Simferopol GMT+0300(MSK)
366 Europe/Skopje GMT+0100(CET)
367 Europe/Sofia GMT+0200(EET)
368 Europe/Stockholm GMT+0100(CET)
369 Europe/Tallinn GMT+0200(EET)
370 Europe/Tirane GMT+0100(CET)
371 Europe/Ulyanovsk GMT+0400(+04)
372 Europe/Uzhgorod GMT+0200(EET)
373 Europe/Vaduz GMT+0100(CET)
374 Europe/Vatican GMT+0100(CET)
375 Europe/Vienna GMT+0100(CET)
376 Europe/Vilnius GMT+0200(EET)
377 Europe/Volgograd GMT+0400(+04)
378 Europe/Warsaw GMT+0100(CET)
379 Europe/Zagreb GMT+0100(CET)
380 Europe/Zaporozhye GMT+0200(EET)
381 Europe/Zurich GMT+0100(CET)
382 GMT GMT+0000(GMT)
383 Indian/Antananarivo GMT+0300(EAT)
384 Indian/Chagos GMT+0600(+06)
385 Indian/Christmas GMT+0700(+07)
386 Indian/Cocos GMT+0630(+0630)
387 Indian/Comoro GMT+0300(EAT)
388 Indian/Kerguelen GMT+0500(+05)
389 Indian/Mahe GMT+0400(+04)
390 Indian/Maldives GMT+0500(+05)
391 Indian/Mauritius GMT+0400(+04)
392 Indian/Mayotte GMT+0300(EAT)
393 Indian/Reunion GMT+0400(+04)
394 Pacific/Apia GMT+1400(+14)
395 Pacific/Auckland GMT+1300(NZDT)
396 Pacific/Bougainville GMT+1100(+11)
397 Pacific/Chatham GMT+1345(+1345)
398 Pacific/Chuuk GMT+1000(+10)
399 Pacific/Easter GMT-0500(-05)
400 Pacific/Efate GMT+1100(+11)
401 Pacific/Enderbury GMT+1300(+13)
402 Pacific/Fakaofo GMT+1300(+13)
403 Pacific/Fiji GMT+1300(+13)
404 Pacific/Funafuti GMT+1200(+12)
405 Pacific/Galapagos GMT-0600(-06)
406 Pacific/Gambier GMT-0900(-09)
407 Pacific/Guadalcanal GMT+1100(+11)
408 Pacific/Guam GMT+1000(ChST)
409 Pacific/Honolulu GMT-1000(HST)
410 Pacific/Kiritimati GMT+1400(+14)
411 Pacific/Kosrae GMT+1100(+11)
412 Pacific/Kwajalein GMT+1200(+12)
413 Pacific/Majuro GMT+1200(+12)
414 Pacific/Marquesas GMT-0930(-0930)
415 Pacific/Midway GMT-1100(SST)
416 Pacific/Nauru GMT+1200(+12)
417 Pacific/Niue GMT-1100(-11)
418 Pacific/Norfolk GMT+1100(+11)
419 Pacific/Noumea GMT+1100(+11)
420 Pacific/Pago_Pago GMT-1100(SST)
421 Pacific/Palau GMT+0900(+09)
422 Pacific/Pitcairn GMT-0800(-08)
423 Pacific/Pohnpei GMT+1100(+11)
424 Pacific/Port_Moresby GMT+1000(+10)
425 Pacific/Rarotonga GMT-1000(-10)
426 Pacific/Saipan GMT+1000(ChST)
427 Pacific/Tahiti GMT-1000(-10)
428 Pacific/Tarawa GMT+1200(+12)
429 Pacific/Tongatapu GMT+1300(+13)
430 Pacific/Wake GMT+1200(+12)
431 Pacific/Wallis GMT+1200(+12)
432 US/Alaska GMT-0900(AKST)
433 US/Arizona GMT-0700(MST)
434 US/Central GMT-0600(CST)
435 US/Eastern GMT-0500(EST)
436 US/Hawaii GMT-1000(HST)
437 US/Mountain GMT-0700(MST)
438 US/Pacific GMT-0800(PST)
439 UTC GMT+0000(UTC)
혹시나 440개의 Timezone에 포함되지 않는 정보가 필요하면 다른 방법이 있다.
아래의 all_timezones을 이용하면 592개의 모든 timezone에 대한 정보를 불러올 수 있다.
from pytz import all_timezones
for atz in enumerate(all_timezones):
print(atz)
Reference
ko.wikipedia.org/wiki/%ED%98%91%EC%A0%95_%EC%84%B8%EA%B3%84%EC%8B%9C
협정 세계시 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. UTC는 여기로 연결됩니다. 다른 뜻에 대해서는 UTC (동음이의) 문서를 참조하십시오. 협정 세계시(協定世界時, 프랑스어: Temps Universel Coordonné, 영어: Coordinated Unive
ko.wikipedia.org
Python3 공식문서(docs.python.org/3/library/datetime.html)
datetime — Basic date and time types — Python 3.9.1 documentation
datetime — Basic date and time types Source code: Lib/datetime.py The datetime module supplies classes for manipulating dates and times. While date and time arithmetic is supported, the focus of the implementation is on efficient attribute extraction for
docs.python.org
pythonhosted.org/pytz/#what-is-utc
pytz - World Timezone Definitions for Python — pytz 2014.10 documentation
pytz brings the Olson tz database into Python. This library allows accurate and cross platform timezone calculations using Python 2.4 or higher. It also solves the issue of ambiguous times at the end of daylight saving time, which you can read more about i
pythonhosted.org
[04-3] Python - Timezone 변경하기
개인적으로 사용하고 있는 서버의 System time은 UTC(세계표준시간)로 설정되어 있다. KST로 설정하면 별다른 코드없이 바로 해당 시간 사용이 가능하겠지만 KST보다는 UTC로 운영하고 있다. 하지만 종
technote.kr