본문 바로가기

Programming/Python

[Python] Timezone 이름 및 UTC offset 출력

데이터 분석 등을 위해 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

technote.kr/202

 

[04-3] Python - Timezone 변경하기

개인적으로 사용하고 있는 서버의 System time은 UTC(세계표준시간)로 설정되어 있다. KST로 설정하면 별다른 코드없이 바로 해당 시간 사용이 가능하겠지만 KST보다는 UTC로 운영하고 있다. 하지만 종

technote.kr