23 KiB
Time Zone support (FB 4.0)
Time zone support consists of TIME WITH TIME ZONE
and TIMESTAMP WITH TIME ZONE
data types, expressions and statements to work with time zones and conversion between data types without/with time zones.
The first important thing to understand is that TIME WITHOUT TIME ZONE
, TIMESTAMP WITHOUT TIME ZONE
and DATE
data types are defined to use the session time zone when converting from or to a TIME WITH TIME ZONE
or TIMESTAMP WITH TIME ZONE
. TIME
and TIMESTAMP
are synonymous to theirs respectively WITHOUT TIME ZONE
data types.
The session time zone, as the name implies, can be a different one for each database attachment. It can be set with the isc_dpb_session_time_zone DPB, and if not, it starts by default defined to be the same time zone used by the Firebird database OS process.
It can then be changed with SET TIME ZONE
statement to a given time zone or reset to its original value with SET TIME ZONE LOCAL
.
A time zone may be a string with a time zone region (for example, America/Sao_Paulo
) or a hours:minutes displacement (for example, -03:00
) from GMT.
A time/timestamp with time zone is considered equal to another time/timestamp with time zone if their conversion to UTC are equal, for example, time '10:00 -02' = time '09:00 -03'
, since both are the same as time '12:00 GMT'
. This is also valid in the context of UNIQUE
constraints and for sorting purposes.
Data types
TIME [ { WITH | WITHOUT } TIME ZONE ]
TIMESTAMP [ { WITH | WITHOUT } TIME ZONE ]
Storage
TIME/TIMESTAMP WITH TIME ZONE has respectively the same storage of TIME/TIMESTAMP WITHOUT TIME ZONE plus 2 bytes for the time zone identifier or displacement.
The time/timestamp parts are stored in UTC (translated from the informed time zone).
Time zone identifiers (from regions) are put directly in the time_zone field. They start from 65535 (which is the GMT code) and are decreasing as new time zones were/are added.
Time zone displacements (+/- HH:MM) are encoded with (sign * (HH * 60 + MM)) + 1439
. For example, a 00:00
displacement is encoded as (1 * (0 * 60 + 0)) + 1439 = 1439
and -02:00
as (-1 * (2 * 60 + 0)) + 1439 = 1319
.
API structs
struct ISC_TIME_TZ
{
ISC_TIME utc_time;
ISC_USHORT time_zone;
};
struct ISC_TIMESTAMP_TZ
{
ISC_TIMESTAMP utc_timestamp;
ISC_USHORT time_zone;
};
API functions (FirebirdInterface.idl - IUtil interface)
void decodeTimeTz(
Status status,
const ISC_TIME_TZ* timeTz,
uint* hours,
uint* minutes,
uint* seconds,
uint* fractions,
uint timeZoneBufferLength,
string timeZoneBuffer
);
void decodeTimeStampTz(
Status status,
const ISC_TIMESTAMP_TZ* timeStampTz,
uint* year,
uint* month,
uint* day,
uint* hours,
uint* minutes,
uint* seconds,
uint* fractions,
uint timeZoneBufferLength,
string timeZoneBuffer
);
void encodeTimeTz(
Status status,
ISC_TIME_TZ* timeTz,
uint hours,
uint minutes,
uint seconds,
uint fractions,
const string timeZone
);
void encodeTimeStampTz(
Status status,
ISC_TIMESTAMP_TZ* timeStampTz,
uint year,
uint month,
uint day,
uint hours,
uint minutes,
uint seconds,
uint fractions,
const string timeZone
);
Time zone string syntax
<time zone string> ::=
'<time zone>'
<time zone> ::=
<time zone region> |
[+/-] <hour displacement> [: <minute displacement>]
Examples:
'America/Sao_Paulo'
'-02:00'
'+04'
'04:00'
'04:30'
TIME WITH TIME ZONE
and TIMESTAMP WITH TIME ZONE
literals
<time with time zone literal> ::=
time '<time> <time zone>'
<timestamp with time zone literal> ::=
timestamp '<timestamp> <time zone>'
Examples:
time '10:00 America/Los_Angeles'
time '10:00:00.5 +08'
timestamp '2018-01-01 10:00 America/Los_Angeles'
timestamp '2018-01-01 10:00:00.5 +08'
Statements and expressions
SET TIME ZONE
statement
Changes the session time zone.
Syntax
SET TIME ZONE { <time zone string> | LOCAL }
Examples
set time zone '-02:00';
set time zone 'America/Sao_Paulo';
set time zone local;
AT
expression
Translates a time/timestamp value to its correspondent value in another time zone.
If LOCAL
is used, the value is converted to the session time zone.
Syntax
<at expr> ::=
<expr> AT { TIME ZONE <time zone string> | LOCAL }
Examples
select time '12:00 GMT' at time zone '-03'
from rdb$database;
select current_timestamp at time zone 'America/Sao_Paulo'
from rdb$database;
select timestamp '2018-01-01 12:00 GMT' at local
from rdb$database;
EXTRACT
expressions
Two new EXTRACT
expressions has been added:
TIMEZONE_HOUR
: extracts the time zone hours displacementTIMEZONE_MINUTE
: extracts the time zone minutes displacement
Examples
select extract(timezone_hour from current_time)
from rdb$database;
select extract(timezone_minute from current_timestamp)
from rdb$database;
LOCALTIME
expression
Returns the current time as a TIME WITHOUT TIME ZONE
, i.e., in the session time zone.
Example
select localtime
from rdb$database;
LOCALTIMESTAMP
expression
Returns the current timestamp as a TIMESTAMP WITHOUT TIME ZONE
, i.e., in the session time zone.
Example
select localtimestamp
from rdb$database;
TODO: CURRENT_TIME and CURRENT_TIMESTAMP changes
Virtual table RDB$TIME_ZONES
This virtual table lists time zones supported in the engine.
Columns:
RDB$TIME_ZONE_ID
typeINTEGER
RDB$TIME_ZONE_NAME
typeCHAR(63)
Package RDB$TIME_ZONE_UTIL
This package has time zone utility functions and procedures.
Function DATABASE_VERSION
RDB$TIME_ZONE_UTIL.DATABASE_VERSION
returns the time zone database version.
Return type: VARCHAR(10) CHARACTER SET ASCII
select rdb$time_zone_util.database_version()
from rdb$database;
Returns:
DATABASE_VERSION
================
2017c
Procedure TRANSITIONS
RDB$TIME_ZONE_UTIL.TRANSITIONS
returns the set of rules between the start and end timestamps.
Input parameters:
TIME_ZONE_NAME
typeCHAR(63)
FROM_TIMESTAMP
typeTIMESTAMP WITH TIME ZONE
TO_TIMESTAMP
typeTIMESTAMP WITH TIME ZONE
Output parameters:
START_TIMESTAMP
typeTIMESTAMP WITH TIME ZONE
- the transition' start timestampEND_TIMESTAMP
typeTIMESTAMP WITH TIME ZONE
- the transition's end timestampZONE_OFFSET
typeSMALLINT
- number of minutes related to the zone's offsetDST_OFFSET
typeSMALLINT
- number of minutes related to the zone's DST offsetEFFECTIVE_OFFSET
typeSMALLINT
- effective offset (ZONE_OFFSET + DST_OFFSET
)
select *
from rdb$time_zone_util.transitions(
'America/Sao_Paulo',
timestamp '2017-01-01',
timestamp '2019-01-01');
Returns:
START_TIMESTAMP END_TIMESTAMP ZONE_OFFSET DST_OFFSET EFFECTIVE_OFFSET
============================ ============================ =========== ========== ================
2016-10-16 03:00:00.0000 GMT 2017-02-19 01:59:59.9999 GMT -180 60 -120
2017-02-19 02:00:00.0000 GMT 2017-10-15 02:59:59.9999 GMT -180 0 -180
2017-10-15 03:00:00.0000 GMT 2018-02-18 01:59:59.9999 GMT -180 60 -120
2018-02-18 02:00:00.0000 GMT 2018-10-21 02:59:59.9999 GMT -180 0 -180
2018-10-21 03:00:00.0000 GMT 2019-02-17 01:59:59.9999 GMT -180 60 -120
Appendix: time zone regions
Below is the list of time zone region names and IDs.
- GMT (65535)
- ACT (65534)
- AET (65533)
- AGT (65532)
- ART (65531)
- AST (65530)
- Africa/Abidjan (65529)
- Africa/Accra (65528)
- Africa/Addis_Ababa (65527)
- Africa/Algiers (65526)
- Africa/Asmara (65525)
- Africa/Asmera (65524)
- Africa/Bamako (65523)
- Africa/Bangui (65522)
- Africa/Banjul (65521)
- Africa/Bissau (65520)
- Africa/Blantyre (65519)
- Africa/Brazzaville (65518)
- Africa/Bujumbura (65517)
- Africa/Cairo (65516)
- Africa/Casablanca (65515)
- Africa/Ceuta (65514)
- Africa/Conakry (65513)
- Africa/Dakar (65512)
- Africa/Dar_es_Salaam (65511)
- Africa/Djibouti (65510)
- Africa/Douala (65509)
- Africa/El_Aaiun (65508)
- Africa/Freetown (65507)
- Africa/Gaborone (65506)
- Africa/Harare (65505)
- Africa/Johannesburg (65504)
- Africa/Juba (65503)
- Africa/Kampala (65502)
- Africa/Khartoum (65501)
- Africa/Kigali (65500)
- Africa/Kinshasa (65499)
- Africa/Lagos (65498)
- Africa/Libreville (65497)
- Africa/Lome (65496)
- Africa/Luanda (65495)
- Africa/Lubumbashi (65494)
- Africa/Lusaka (65493)
- Africa/Malabo (65492)
- Africa/Maputo (65491)
- Africa/Maseru (65490)
- Africa/Mbabane (65489)
- Africa/Mogadishu (65488)
- Africa/Monrovia (65487)
- Africa/Nairobi (65486)
- Africa/Ndjamena (65485)
- Africa/Niamey (65484)
- Africa/Nouakchott (65483)
- Africa/Ouagadougou (65482)
- Africa/Porto-Novo (65481)
- Africa/Sao_Tome (65480)
- Africa/Timbuktu (65479)
- Africa/Tripoli (65478)
- Africa/Tunis (65477)
- Africa/Windhoek (65476)
- America/Adak (65475)
- America/Anchorage (65474)
- America/Anguilla (65473)
- America/Antigua (65472)
- America/Araguaina (65471)
- America/Argentina/Buenos_Aires (65470)
- America/Argentina/Catamarca (65469)
- America/Argentina/ComodRivadavia (65468)
- America/Argentina/Cordoba (65467)
- America/Argentina/Jujuy (65466)
- America/Argentina/La_Rioja (65465)
- America/Argentina/Mendoza (65464)
- America/Argentina/Rio_Gallegos (65463)
- America/Argentina/Salta (65462)
- America/Argentina/San_Juan (65461)
- America/Argentina/San_Luis (65460)
- America/Argentina/Tucuman (65459)
- America/Argentina/Ushuaia (65458)
- America/Aruba (65457)
- America/Asuncion (65456)
- America/Atikokan (65455)
- America/Atka (65454)
- America/Bahia (65453)
- America/Bahia_Banderas (65452)
- America/Barbados (65451)
- America/Belem (65450)
- America/Belize (65449)
- America/Blanc-Sablon (65448)
- America/Boa_Vista (65447)
- America/Bogota (65446)
- America/Boise (65445)
- America/Buenos_Aires (65444)
- America/Cambridge_Bay (65443)
- America/Campo_Grande (65442)
- America/Cancun (65441)
- America/Caracas (65440)
- America/Catamarca (65439)
- America/Cayenne (65438)
- America/Cayman (65437)
- America/Chicago (65436)
- America/Chihuahua (65435)
- America/Coral_Harbour (65434)
- America/Cordoba (65433)
- America/Costa_Rica (65432)
- America/Creston (65431)
- America/Cuiaba (65430)
- America/Curacao (65429)
- America/Danmarkshavn (65428)
- America/Dawson (65427)
- America/Dawson_Creek (65426)
- America/Denver (65425)
- America/Detroit (65424)
- America/Dominica (65423)
- America/Edmonton (65422)
- America/Eirunepe (65421)
- America/El_Salvador (65420)
- America/Ensenada (65419)
- America/Fort_Nelson (65418)
- America/Fort_Wayne (65417)
- America/Fortaleza (65416)
- America/Glace_Bay (65415)
- America/Godthab (65414)
- America/Goose_Bay (65413)
- America/Grand_Turk (65412)
- America/Grenada (65411)
- America/Guadeloupe (65410)
- America/Guatemala (65409)
- America/Guayaquil (65408)
- America/Guyana (65407)
- America/Halifax (65406)
- America/Havana (65405)
- America/Hermosillo (65404)
- America/Indiana/Indianapolis (65403)
- America/Indiana/Knox (65402)
- America/Indiana/Marengo (65401)
- America/Indiana/Petersburg (65400)
- America/Indiana/Tell_City (65399)
- America/Indiana/Vevay (65398)
- America/Indiana/Vincennes (65397)
- America/Indiana/Winamac (65396)
- America/Indianapolis (65395)
- America/Inuvik (65394)
- America/Iqaluit (65393)
- America/Jamaica (65392)
- America/Jujuy (65391)
- America/Juneau (65390)
- America/Kentucky/Louisville (65389)
- America/Kentucky/Monticello (65388)
- America/Knox_IN (65387)
- America/Kralendijk (65386)
- America/La_Paz (65385)
- America/Lima (65384)
- America/Los_Angeles (65383)
- America/Louisville (65382)
- America/Lower_Princes (65381)
- America/Maceio (65380)
- America/Managua (65379)
- America/Manaus (65378)
- America/Marigot (65377)
- America/Martinique (65376)
- America/Matamoros (65375)
- America/Mazatlan (65374)
- America/Mendoza (65373)
- America/Menominee (65372)
- America/Merida (65371)
- America/Metlakatla (65370)
- America/Mexico_City (65369)
- America/Miquelon (65368)
- America/Moncton (65367)
- America/Monterrey (65366)
- America/Montevideo (65365)
- America/Montreal (65364)
- America/Montserrat (65363)
- America/Nassau (65362)
- America/New_York (65361)
- America/Nipigon (65360)
- America/Nome (65359)
- America/Noronha (65358)
- America/North_Dakota/Beulah (65357)
- America/North_Dakota/Center (65356)
- America/North_Dakota/New_Salem (65355)
- America/Ojinaga (65354)
- America/Panama (65353)
- America/Pangnirtung (65352)
- America/Paramaribo (65351)
- America/Phoenix (65350)
- America/Port-au-Prince (65349)
- America/Port_of_Spain (65348)
- America/Porto_Acre (65347)
- America/Porto_Velho (65346)
- America/Puerto_Rico (65345)
- America/Punta_Arenas (65344)
- America/Rainy_River (65343)
- America/Rankin_Inlet (65342)
- America/Recife (65341)
- America/Regina (65340)
- America/Resolute (65339)
- America/Rio_Branco (65338)
- America/Rosario (65337)
- America/Santa_Isabel (65336)
- America/Santarem (65335)
- America/Santiago (65334)
- America/Santo_Domingo (65333)
- America/Sao_Paulo (65332)
- America/Scoresbysund (65331)
- America/Shiprock (65330)
- America/Sitka (65329)
- America/St_Barthelemy (65328)
- America/St_Johns (65327)
- America/St_Kitts (65326)
- America/St_Lucia (65325)
- America/St_Thomas (65324)
- America/St_Vincent (65323)
- America/Swift_Current (65322)
- America/Tegucigalpa (65321)
- America/Thule (65320)
- America/Thunder_Bay (65319)
- America/Tijuana (65318)
- America/Toronto (65317)
- America/Tortola (65316)
- America/Vancouver (65315)
- America/Virgin (65314)
- America/Whitehorse (65313)
- America/Winnipeg (65312)
- America/Yakutat (65311)
- America/Yellowknife (65310)
- Antarctica/Casey (65309)
- Antarctica/Davis (65308)
- Antarctica/DumontDUrville (65307)
- Antarctica/Macquarie (65306)
- Antarctica/Mawson (65305)
- Antarctica/McMurdo (65304)
- Antarctica/Palmer (65303)
- Antarctica/Rothera (65302)
- Antarctica/South_Pole (65301)
- Antarctica/Syowa (65300)
- Antarctica/Troll (65299)
- Antarctica/Vostok (65298)
- Arctic/Longyearbyen (65297)
- Asia/Aden (65296)
- Asia/Almaty (65295)
- Asia/Amman (65294)
- Asia/Anadyr (65293)
- Asia/Aqtau (65292)
- Asia/Aqtobe (65291)
- Asia/Ashgabat (65290)
- Asia/Ashkhabad (65289)
- Asia/Atyrau (65288)
- Asia/Baghdad (65287)
- Asia/Bahrain (65286)
- Asia/Baku (65285)
- Asia/Bangkok (65284)
- Asia/Barnaul (65283)
- Asia/Beirut (65282)
- Asia/Bishkek (65281)
- Asia/Brunei (65280)
- Asia/Calcutta (65279)
- Asia/Chita (65278)
- Asia/Choibalsan (65277)
- Asia/Chongqing (65276)
- Asia/Chungking (65275)
- Asia/Colombo (65274)
- Asia/Dacca (65273)
- Asia/Damascus (65272)
- Asia/Dhaka (65271)
- Asia/Dili (65270)
- Asia/Dubai (65269)
- Asia/Dushanbe (65268)
- Asia/Famagusta (65267)
- Asia/Gaza (65266)
- Asia/Harbin (65265)
- Asia/Hebron (65264)
- Asia/Ho_Chi_Minh (65263)
- Asia/Hong_Kong (65262)
- Asia/Hovd (65261)
- Asia/Irkutsk (65260)
- Asia/Istanbul (65259)
- Asia/Jakarta (65258)
- Asia/Jayapura (65257)
- Asia/Jerusalem (65256)
- Asia/Kabul (65255)
- Asia/Kamchatka (65254)
- Asia/Karachi (65253)
- Asia/Kashgar (65252)
- Asia/Kathmandu (65251)
- Asia/Katmandu (65250)
- Asia/Khandyga (65249)
- Asia/Kolkata (65248)
- Asia/Krasnoyarsk (65247)
- Asia/Kuala_Lumpur (65246)
- Asia/Kuching (65245)
- Asia/Kuwait (65244)
- Asia/Macao (65243)
- Asia/Macau (65242)
- Asia/Magadan (65241)
- Asia/Makassar (65240)
- Asia/Manila (65239)
- Asia/Muscat (65238)
- Asia/Nicosia (65237)
- Asia/Novokuznetsk (65236)
- Asia/Novosibirsk (65235)
- Asia/Omsk (65234)
- Asia/Oral (65233)
- Asia/Phnom_Penh (65232)
- Asia/Pontianak (65231)
- Asia/Pyongyang (65230)
- Asia/Qatar (65229)
- Asia/Qyzylorda (65228)
- Asia/Rangoon (65227)
- Asia/Riyadh (65226)
- Asia/Saigon (65225)
- Asia/Sakhalin (65224)
- Asia/Samarkand (65223)
- Asia/Seoul (65222)
- Asia/Shanghai (65221)
- Asia/Singapore (65220)
- Asia/Srednekolymsk (65219)
- Asia/Taipei (65218)
- Asia/Tashkent (65217)
- Asia/Tbilisi (65216)
- Asia/Tehran (65215)
- Asia/Tel_Aviv (65214)
- Asia/Thimbu (65213)
- Asia/Thimphu (65212)
- Asia/Tokyo (65211)
- Asia/Tomsk (65210)
- Asia/Ujung_Pandang (65209)
- Asia/Ulaanbaatar (65208)
- Asia/Ulan_Bator (65207)
- Asia/Urumqi (65206)
- Asia/Ust-Nera (65205)
- Asia/Vientiane (65204)
- Asia/Vladivostok (65203)
- Asia/Yakutsk (65202)
- Asia/Yangon (65201)
- Asia/Yekaterinburg (65200)
- Asia/Yerevan (65199)
- Atlantic/Azores (65198)
- Atlantic/Bermuda (65197)
- Atlantic/Canary (65196)
- Atlantic/Cape_Verde (65195)
- Atlantic/Faeroe (65194)
- Atlantic/Faroe (65193)
- Atlantic/Jan_Mayen (65192)
- Atlantic/Madeira (65191)
- Atlantic/Reykjavik (65190)
- Atlantic/South_Georgia (65189)
- Atlantic/St_Helena (65188)
- Atlantic/Stanley (65187)
- Australia/ACT (65186)
- Australia/Adelaide (65185)
- Australia/Brisbane (65184)
- Australia/Broken_Hill (65183)
- Australia/Canberra (65182)
- Australia/Currie (65181)
- Australia/Darwin (65180)
- Australia/Eucla (65179)
- Australia/Hobart (65178)
- Australia/LHI (65177)
- Australia/Lindeman (65176)
- Australia/Lord_Howe (65175)
- Australia/Melbourne (65174)
- Australia/NSW (65173)
- Australia/North (65172)
- Australia/Perth (65171)
- Australia/Queensland (65170)
- Australia/South (65169)
- Australia/Sydney (65168)
- Australia/Tasmania (65167)
- Australia/Victoria (65166)
- Australia/West (65165)
- Australia/Yancowinna (65164)
- BET (65163)
- BST (65162)
- Brazil/Acre (65161)
- Brazil/DeNoronha (65160)
- Brazil/East (65159)
- Brazil/West (65158)
- CAT (65157)
- CET (65156)
- CNT (65155)
- CST (65154)
- CST6CDT (65153)
- CTT (65152)
- Canada/Atlantic (65151)
- Canada/Central (65150)
- Canada/East-Saskatchewan (65149)
- Canada/Eastern (65148)
- Canada/Mountain (65147)
- Canada/Newfoundland (65146)
- Canada/Pacific (65145)
- Canada/Saskatchewan (65144)
- Canada/Yukon (65143)
- Chile/Continental (65142)
- Chile/EasterIsland (65141)
- Cuba (65140)
- EAT (65139)
- ECT (65138)
- EET (65137)
- EST (65136)
- EST5EDT (65135)
- Egypt (65134)
- Eire (65133)
- Etc/GMT (65132)
- Etc/GMT+0 (65131)
- Etc/GMT+1 (65130)
- Etc/GMT+10 (65129)
- Etc/GMT+11 (65128)
- Etc/GMT+12 (65127)
- Etc/GMT+2 (65126)
- Etc/GMT+3 (65125)
- Etc/GMT+4 (65124)
- Etc/GMT+5 (65123)
- Etc/GMT+6 (65122)
- Etc/GMT+7 (65121)
- Etc/GMT+8 (65120)
- Etc/GMT+9 (65119)
- Etc/GMT-0 (65118)
- Etc/GMT-1 (65117)
- Etc/GMT-10 (65116)
- Etc/GMT-11 (65115)
- Etc/GMT-12 (65114)
- Etc/GMT-13 (65113)
- Etc/GMT-14 (65112)
- Etc/GMT-2 (65111)
- Etc/GMT-3 (65110)
- Etc/GMT-4 (65109)
- Etc/GMT-5 (65108)
- Etc/GMT-6 (65107)
- Etc/GMT-7 (65106)
- Etc/GMT-8 (65105)
- Etc/GMT-9 (65104)
- Etc/GMT0 (65103)
- Etc/Greenwich (65102)
- Etc/UCT (65101)
- Etc/UTC (65100)
- Etc/Universal (65099)
- Etc/Zulu (65098)
- Europe/Amsterdam (65097)
- Europe/Andorra (65096)
- Europe/Astrakhan (65095)
- Europe/Athens (65094)
- Europe/Belfast (65093)
- Europe/Belgrade (65092)
- Europe/Berlin (65091)
- Europe/Bratislava (65090)
- Europe/Brussels (65089)
- Europe/Bucharest (65088)
- Europe/Budapest (65087)
- Europe/Busingen (65086)
- Europe/Chisinau (65085)
- Europe/Copenhagen (65084)
- Europe/Dublin (65083)
- Europe/Gibraltar (65082)
- Europe/Guernsey (65081)
- Europe/Helsinki (65080)
- Europe/Isle_of_Man (65079)
- Europe/Istanbul (65078)
- Europe/Jersey (65077)
- Europe/Kaliningrad (65076)
- Europe/Kiev (65075)
- Europe/Kirov (65074)
- Europe/Lisbon (65073)
- Europe/Ljubljana (65072)
- Europe/London (65071)
- Europe/Luxembourg (65070)
- Europe/Madrid (65069)
- Europe/Malta (65068)
- Europe/Mariehamn (65067)
- Europe/Minsk (65066)
- Europe/Monaco (65065)
- Europe/Moscow (65064)
- Europe/Nicosia (65063)
- Europe/Oslo (65062)
- Europe/Paris (65061)
- Europe/Podgorica (65060)
- Europe/Prague (65059)
- Europe/Riga (65058)
- Europe/Rome (65057)
- Europe/Samara (65056)
- Europe/San_Marino (65055)
- Europe/Sarajevo (65054)
- Europe/Saratov (65053)
- Europe/Simferopol (65052)
- Europe/Skopje (65051)
- Europe/Sofia (65050)
- Europe/Stockholm (65049)
- Europe/Tallinn (65048)
- Europe/Tirane (65047)
- Europe/Tiraspol (65046)
- Europe/Ulyanovsk (65045)
- Europe/Uzhgorod (65044)
- Europe/Vaduz (65043)
- Europe/Vatican (65042)
- Europe/Vienna (65041)
- Europe/Vilnius (65040)
- Europe/Volgograd (65039)
- Europe/Warsaw (65038)
- Europe/Zagreb (65037)
- Europe/Zaporozhye (65036)
- Europe/Zurich (65035)
- Factory (65034)
- GB (65033)
- GB-Eire (65032)
- GMT+0 (65031)
- GMT-0 (65030)
- GMT0 (65029)
- Greenwich (65028)
- HST (65027)
- Hongkong (65026)
- IET (65025)
- IST (65024)
- Iceland (65023)
- Indian/Antananarivo (65022)
- Indian/Chagos (65021)
- Indian/Christmas (65020)
- Indian/Cocos (65019)
- Indian/Comoro (65018)
- Indian/Kerguelen (65017)
- Indian/Mahe (65016)
- Indian/Maldives (65015)
- Indian/Mauritius (65014)
- Indian/Mayotte (65013)
- Indian/Reunion (65012)
- Iran (65011)
- Israel (65010)
- JST (65009)
- Jamaica (65008)
- Japan (65007)
- Kwajalein (65006)
- Libya (65005)
- MET (65004)
- MIT (65003)
- MST (65002)
- MST7MDT (65001)
- Mexico/BajaNorte (65000)
- Mexico/BajaSur (64999)
- Mexico/General (64998)
- NET (64997)
- NST (64996)
- NZ (64995)
- NZ-CHAT (64994)
- Navajo (64993)
- PLT (64992)
- PNT (64991)
- PRC (64990)
- PRT (64989)
- PST (64988)
- PST8PDT (64987)
- Pacific/Apia (64986)
- Pacific/Auckland (64985)
- Pacific/Bougainville (64984)
- Pacific/Chatham (64983)
- Pacific/Chuuk (64982)
- Pacific/Easter (64981)
- Pacific/Efate (64980)
- Pacific/Enderbury (64979)
- Pacific/Fakaofo (64978)
- Pacific/Fiji (64977)
- Pacific/Funafuti (64976)
- Pacific/Galapagos (64975)
- Pacific/Gambier (64974)
- Pacific/Guadalcanal (64973)
- Pacific/Guam (64972)
- Pacific/Honolulu (64971)
- Pacific/Johnston (64970)
- Pacific/Kiritimati (64969)
- Pacific/Kosrae (64968)
- Pacific/Kwajalein (64967)
- Pacific/Majuro (64966)
- Pacific/Marquesas (64965)
- Pacific/Midway (64964)
- Pacific/Nauru (64963)
- Pacific/Niue (64962)
- Pacific/Norfolk (64961)
- Pacific/Noumea (64960)
- Pacific/Pago_Pago (64959)
- Pacific/Palau (64958)
- Pacific/Pitcairn (64957)
- Pacific/Pohnpei (64956)
- Pacific/Ponape (64955)
- Pacific/Port_Moresby (64954)
- Pacific/Rarotonga (64953)
- Pacific/Saipan (64952)
- Pacific/Samoa (64951)
- Pacific/Tahiti (64950)
- Pacific/Tarawa (64949)
- Pacific/Tongatapu (64948)
- Pacific/Truk (64947)
- Pacific/Wake (64946)
- Pacific/Wallis (64945)
- Pacific/Yap (64944)
- Poland (64943)
- Portugal (64942)
- ROC (64941)
- ROK (64940)
- SST (64939)
- Singapore (64938)
- SystemV/AST4 (64937)
- SystemV/AST4ADT (64936)
- SystemV/CST6 (64935)
- SystemV/CST6CDT (64934)
- SystemV/EST5 (64933)
- SystemV/EST5EDT (64932)
- SystemV/HST10 (64931)
- SystemV/MST7 (64930)
- SystemV/MST7MDT (64929)
- SystemV/PST8 (64928)
- SystemV/PST8PDT (64927)
- SystemV/YST9 (64926)
- SystemV/YST9YDT (64925)
- Turkey (64924)
- UCT (64923)
- US/Alaska (64922)
- US/Aleutian (64921)
- US/Arizona (64920)
- US/Central (64919)
- US/East-Indiana (64918)
- US/Eastern (64917)
- US/Hawaii (64916)
- US/Indiana-Starke (64915)
- US/Michigan (64914)
- US/Mountain (64913)
- US/Pacific (64912)
- US/Pacific-New (64911)
- US/Samoa (64910)
- UTC (64909)
- Universal (64908)
- VST (64907)
- W-SU (64906)
- WET (64905)
- Zulu (64904)
Author: Adriano dos Santos Fernandes