1003 lines
25 KiB
SQL
1003 lines
25 KiB
SQL
# name: test/sql/timezone/test_icu_timezone.test
|
|
# description: Test the ICU TimeZone interface
|
|
# group: [timezone]
|
|
|
|
require icu
|
|
|
|
statement ok
|
|
SET Calendar = 'gregorian';
|
|
|
|
statement error
|
|
SET TimeZone = 'Europe/Duck';
|
|
----
|
|
Unknown TimeZone
|
|
|
|
statement ok
|
|
SET TimeZone = 'America/Los_Angeles';
|
|
|
|
query IIIII
|
|
SELECT name, value, description, input_type, scope FROM duckdb_settings() WHERE name = 'TimeZone';
|
|
----
|
|
TimeZone America/Los_Angeles The current time zone VARCHAR LOCAL
|
|
|
|
#
|
|
# AT TIME ZONE
|
|
#
|
|
|
|
# Single row
|
|
query I
|
|
SELECT '2001-02-16 20:38:40'::TIMESTAMP AT TIME ZONE 'America/Denver';
|
|
----
|
|
2001-02-16 19:38:40-08
|
|
|
|
# case insensitive
|
|
query I
|
|
SELECT '2001-02-16 20:38:40'::TIMESTAMP AT TIME ZONE 'america/denver';
|
|
----
|
|
2001-02-16 19:38:40-08
|
|
|
|
# recommendation
|
|
statement error
|
|
SELECT '2001-02-16 20:38:40'::TIMESTAMP AT TIME ZONE 'America/Donver';
|
|
----
|
|
America/Denver
|
|
|
|
query I
|
|
SELECT '2001-02-16 20:38:40-05'::TIMESTAMPTZ AT TIME ZONE 'America/Denver';
|
|
----
|
|
2001-02-16 18:38:40
|
|
|
|
# Invalid time zone
|
|
statement error
|
|
SELECT '2001-02-16 20:38:40'::TIMESTAMP AT TIME ZONE 'Europe/Duck';
|
|
----
|
|
Unknown TimeZone
|
|
|
|
statement error
|
|
SELECT '2001-02-16 20:38:40-05'::TIMESTAMPTZ AT TIME ZONE 'Europe/Duck';
|
|
----
|
|
Unknown TimeZone
|
|
|
|
# Infinities
|
|
foreach datatype TIMESTAMP TIMESTAMPTZ
|
|
|
|
query I
|
|
SELECT 'infinity'::${datatype} AT TIME ZONE 'America/Denver';
|
|
----
|
|
infinity
|
|
|
|
query I
|
|
SELECT '-infinity'::${datatype} AT TIME ZONE 'America/Denver';
|
|
----
|
|
-infinity
|
|
|
|
statement error
|
|
SELECT 'infinity'::${datatype} AT TIME ZONE 'Europe/Duck';
|
|
----
|
|
Unknown TimeZone
|
|
|
|
statement error
|
|
SELECT '-infinity'::${datatype} AT TIME ZONE 'Europe/Duck';
|
|
----
|
|
Unknown TimeZone
|
|
|
|
endloop
|
|
|
|
# NULLs
|
|
query I
|
|
SELECT NULL::TIMESTAMP AT TIME ZONE 'America/Denver';
|
|
----
|
|
NULL
|
|
|
|
query I
|
|
SELECT NULL::TIMESTAMPTZ AT TIME ZONE 'America/Denver';
|
|
----
|
|
NULL
|
|
|
|
query I
|
|
SELECT '2001-02-16 20:38:40'::TIMESTAMP AT TIME ZONE NULL;
|
|
----
|
|
NULL
|
|
|
|
query I
|
|
SELECT '2001-02-16 20:38:40-05'::TIMESTAMPTZ AT TIME ZONE NULL;
|
|
----
|
|
NULL
|
|
|
|
# Normalise to TZ, add interval, then set offset
|
|
query I
|
|
select '12:15:37.123456-08'::TIMETZ AT TIME ZONE 'America/Phoenix';
|
|
----
|
|
13:15:37.123456-07
|
|
|
|
query I
|
|
select timezone('America/Phoenix', '12:15:37.123456-08'::TIMETZ);
|
|
----
|
|
13:15:37.123456-07
|
|
|
|
# Date => TIMESTAMPTZ
|
|
query I
|
|
SELECT '2020-01-01'::DATE::TIMESTAMPTZ AS dttz;
|
|
----
|
|
2020-01-01 00:00:00-08
|
|
|
|
query I
|
|
SELECT 'infinity'::DATE::TIMESTAMPTZ AS dttz;
|
|
----
|
|
infinity
|
|
|
|
query I
|
|
SELECT '-infinity'::DATE::TIMESTAMPTZ AS dttz;
|
|
----
|
|
-infinity
|
|
|
|
statement error
|
|
select '5877642-06-25 (BC)'::DATE::TIMESTAMPTZ AS dttz;
|
|
----
|
|
Invalid Input Error
|
|
|
|
statement error
|
|
select '5881580-07-10'::DATE::TIMESTAMPTZ AS dttz;
|
|
----
|
|
Invalid Input Error
|
|
|
|
# Table
|
|
statement ok
|
|
CREATE TABLE attimezone (ts TIMESTAMP, tstz TIMESTAMPTZ, ttz TIMETZ, tz VARCHAR);
|
|
|
|
statement ok
|
|
INSERT INTO attimezone (VALUES
|
|
('2001-02-16 20:38:40', '2001-02-16 19:38:40-08', '19:38:40-08', 'America/Phoenix'),
|
|
('2001-02-16 18:38:40', '2001-02-16 20:38:40-05', '20:38:40-05', 'America/Phoenix'),
|
|
('infinity', 'infinity', '19:38:40-08', 'America/Phoenix'),
|
|
('-infinity', '-infinity', '20:38:40-05', 'America/Phoenix'),
|
|
(NULL, NULL, NULL, 'America/Phoenix'),
|
|
('2001-02-16 20:38:40', '2001-02-16 19:38:40-08', '19:38:40+08', 'UTC'),
|
|
('2001-02-16 18:38:40', '2001-02-16 20:38:40-05', '20:38:40+15:59', 'UTC'),
|
|
('infinity', 'infinity', '12:15:37.123456-08', 'UTC'),
|
|
('-infinity', '-infinity', '20:38:40-15:59', 'UTC'),
|
|
(NULL, NULL, NULL, 'UTC'),
|
|
('2001-02-16 20:38:40', '2001-02-16 19:38:40-08', '19:38:40-08', NULL),
|
|
('2001-02-16 18:38:40', '2001-02-16 20:38:40-05', '20:38:40-05', NULL),
|
|
('infinity', 'infinity', '12:15:37.123456-08', NULL),
|
|
('-infinity', '-infinity', '20:38:40-15:59', NULL),
|
|
);
|
|
|
|
# By Row
|
|
query III
|
|
SELECT ts AT TIME ZONE tz, tstz AT TIME ZONE tz, ttz AT TIME ZONE tz
|
|
FROM attimezone
|
|
----
|
|
2001-02-16 19:38:40-08 2001-02-16 20:38:40 20:38:40-07
|
|
2001-02-16 17:38:40-08 2001-02-16 18:38:40 18:38:40-07
|
|
infinity infinity 20:38:40-07
|
|
-infinity -infinity 18:38:40-07
|
|
NULL NULL NULL
|
|
2001-02-16 12:38:40-08 2001-02-17 03:38:40 11:38:40+00
|
|
2001-02-16 10:38:40-08 2001-02-17 01:38:40 04:39:40+00
|
|
infinity infinity 20:15:37.123456+00
|
|
-infinity -infinity 12:37:40+00
|
|
NULL NULL NULL
|
|
NULL NULL NULL
|
|
NULL NULL NULL
|
|
NULL NULL NULL
|
|
NULL NULL NULL
|
|
|
|
# Filtered
|
|
query III
|
|
SELECT ts AT TIME ZONE tz, tstz AT TIME ZONE tz, ttz AT TIME ZONE tz
|
|
FROM attimezone
|
|
WHERE ts > '2001-02-16 18:38:40'::TIMESTAMP
|
|
----
|
|
2001-02-16 19:38:40-08 2001-02-16 20:38:40 20:38:40-07
|
|
infinity infinity 20:38:40-07
|
|
2001-02-16 12:38:40-08 2001-02-17 03:38:40 11:38:40+00
|
|
infinity infinity 20:15:37.123456+00
|
|
NULL NULL NULL
|
|
NULL NULL NULL
|
|
|
|
#
|
|
# Verify local time functions are implemented.
|
|
#
|
|
statement ok
|
|
select localtimestamp;
|
|
|
|
statement ok
|
|
select localtime;
|
|
|
|
statement ok
|
|
select current_localtimestamp();
|
|
|
|
statement ok
|
|
select current_localtime();
|
|
|
|
#
|
|
# ICU time zone list
|
|
#
|
|
query II
|
|
SELECT name, abbrev FROM pg_timezone_names() ORDER BY name;
|
|
----
|
|
ACT ACT
|
|
AET AET
|
|
AGT AGT
|
|
ART ART
|
|
AST AST
|
|
Africa/Abidjan Iceland
|
|
Africa/Accra Iceland
|
|
Africa/Addis_Ababa EAT
|
|
Africa/Algiers Africa/Algiers
|
|
Africa/Asmara EAT
|
|
Africa/Asmera EAT
|
|
Africa/Bamako Iceland
|
|
Africa/Bangui Africa/Bangui
|
|
Africa/Banjul Iceland
|
|
Africa/Bissau Africa/Bissau
|
|
Africa/Blantyre CAT
|
|
Africa/Brazzaville Africa/Brazzaville
|
|
Africa/Bujumbura CAT
|
|
Africa/Cairo ART
|
|
Africa/Casablanca Africa/Casablanca
|
|
Africa/Ceuta Africa/Ceuta
|
|
Africa/Conakry Iceland
|
|
Africa/Dakar Iceland
|
|
Africa/Dar_es_Salaam EAT
|
|
Africa/Djibouti EAT
|
|
Africa/Douala Africa/Douala
|
|
Africa/El_Aaiun Africa/El_Aaiun
|
|
Africa/Freetown Iceland
|
|
Africa/Gaborone CAT
|
|
Africa/Harare CAT
|
|
Africa/Johannesburg Africa/Johannesburg
|
|
Africa/Juba Africa/Juba
|
|
Africa/Kampala EAT
|
|
Africa/Khartoum Africa/Khartoum
|
|
Africa/Kigali CAT
|
|
Africa/Kinshasa Africa/Kinshasa
|
|
Africa/Lagos Africa/Lagos
|
|
Africa/Libreville Africa/Libreville
|
|
Africa/Lome Iceland
|
|
Africa/Luanda Africa/Luanda
|
|
Africa/Lubumbashi CAT
|
|
Africa/Lusaka CAT
|
|
Africa/Malabo Africa/Malabo
|
|
Africa/Maputo CAT
|
|
Africa/Maseru Africa/Maseru
|
|
Africa/Mbabane Africa/Mbabane
|
|
Africa/Mogadishu EAT
|
|
Africa/Monrovia Africa/Monrovia
|
|
Africa/Nairobi EAT
|
|
Africa/Ndjamena Africa/Ndjamena
|
|
Africa/Niamey Africa/Niamey
|
|
Africa/Nouakchott Iceland
|
|
Africa/Ouagadougou Iceland
|
|
Africa/Porto-Novo Africa/Porto-Novo
|
|
Africa/Sao_Tome Africa/Sao_Tome
|
|
Africa/Timbuktu Iceland
|
|
Africa/Tripoli Libya
|
|
Africa/Tunis Africa/Tunis
|
|
Africa/Windhoek Africa/Windhoek
|
|
America/Adak America/Adak
|
|
America/Anchorage AST
|
|
America/Anguilla PRT
|
|
America/Antigua PRT
|
|
America/Araguaina America/Araguaina
|
|
America/Argentina/Buenos_Aires AGT
|
|
America/Argentina/Catamarca America/Argentina/Catamarca
|
|
America/Argentina/ComodRivadavia America/Argentina/ComodRivadavia
|
|
America/Argentina/Cordoba America/Argentina/Cordoba
|
|
America/Argentina/Jujuy America/Argentina/Jujuy
|
|
America/Argentina/La_Rioja America/Argentina/La_Rioja
|
|
America/Argentina/Mendoza America/Argentina/Mendoza
|
|
America/Argentina/Rio_Gallegos America/Argentina/Rio_Gallegos
|
|
America/Argentina/Salta America/Argentina/Salta
|
|
America/Argentina/San_Juan America/Argentina/San_Juan
|
|
America/Argentina/San_Luis America/Argentina/San_Luis
|
|
America/Argentina/Tucuman America/Argentina/Tucuman
|
|
America/Argentina/Ushuaia America/Argentina/Ushuaia
|
|
America/Aruba PRT
|
|
America/Asuncion America/Asuncion
|
|
America/Atikokan EST
|
|
America/Atka America/Atka
|
|
America/Bahia America/Bahia
|
|
America/Bahia_Banderas America/Bahia_Banderas
|
|
America/Barbados America/Barbados
|
|
America/Belem America/Belem
|
|
America/Belize America/Belize
|
|
America/Blanc-Sablon PRT
|
|
America/Boa_Vista America/Boa_Vista
|
|
America/Bogota America/Bogota
|
|
America/Boise America/Boise
|
|
America/Buenos_Aires AGT
|
|
America/Cambridge_Bay America/Cambridge_Bay
|
|
America/Campo_Grande America/Campo_Grande
|
|
America/Cancun America/Cancun
|
|
America/Caracas America/Caracas
|
|
America/Catamarca America/Catamarca
|
|
America/Cayenne America/Cayenne
|
|
America/Cayman EST
|
|
America/Chicago CST
|
|
America/Chihuahua America/Chihuahua
|
|
America/Ciudad_Juarez America/Ciudad_Juarez
|
|
America/Coral_Harbour EST
|
|
America/Cordoba America/Cordoba
|
|
America/Costa_Rica America/Costa_Rica
|
|
America/Coyhaique America/Coyhaique
|
|
America/Creston MST
|
|
America/Cuiaba America/Cuiaba
|
|
America/Curacao PRT
|
|
America/Danmarkshavn America/Danmarkshavn
|
|
America/Dawson America/Dawson
|
|
America/Dawson_Creek America/Dawson_Creek
|
|
America/Denver Navajo
|
|
America/Detroit America/Detroit
|
|
America/Dominica PRT
|
|
America/Edmonton America/Edmonton
|
|
America/Eirunepe America/Eirunepe
|
|
America/El_Salvador America/El_Salvador
|
|
America/Ensenada America/Ensenada
|
|
America/Fort_Nelson America/Fort_Nelson
|
|
America/Fort_Wayne IET
|
|
America/Fortaleza America/Fortaleza
|
|
America/Glace_Bay America/Glace_Bay
|
|
America/Godthab America/Godthab
|
|
America/Goose_Bay America/Goose_Bay
|
|
America/Grand_Turk America/Grand_Turk
|
|
America/Grenada PRT
|
|
America/Guadeloupe PRT
|
|
America/Guatemala America/Guatemala
|
|
America/Guayaquil America/Guayaquil
|
|
America/Guyana America/Guyana
|
|
America/Halifax America/Halifax
|
|
America/Havana Cuba
|
|
America/Hermosillo America/Hermosillo
|
|
America/Indiana/Indianapolis IET
|
|
America/Indiana/Knox America/Indiana/Knox
|
|
America/Indiana/Marengo America/Indiana/Marengo
|
|
America/Indiana/Petersburg America/Indiana/Petersburg
|
|
America/Indiana/Tell_City America/Indiana/Tell_City
|
|
America/Indiana/Vevay America/Indiana/Vevay
|
|
America/Indiana/Vincennes America/Indiana/Vincennes
|
|
America/Indiana/Winamac America/Indiana/Winamac
|
|
America/Indianapolis IET
|
|
America/Inuvik America/Inuvik
|
|
America/Iqaluit America/Iqaluit
|
|
America/Jamaica Jamaica
|
|
America/Jujuy America/Jujuy
|
|
America/Juneau America/Juneau
|
|
America/Kentucky/Louisville America/Kentucky/Louisville
|
|
America/Kentucky/Monticello America/Kentucky/Monticello
|
|
America/Knox_IN America/Knox_IN
|
|
America/Kralendijk PRT
|
|
America/La_Paz America/La_Paz
|
|
America/Lima America/Lima
|
|
America/Los_Angeles PST
|
|
America/Louisville America/Louisville
|
|
America/Lower_Princes PRT
|
|
America/Maceio America/Maceio
|
|
America/Managua America/Managua
|
|
America/Manaus America/Manaus
|
|
America/Marigot PRT
|
|
America/Martinique America/Martinique
|
|
America/Matamoros America/Matamoros
|
|
America/Mazatlan America/Mazatlan
|
|
America/Mendoza America/Mendoza
|
|
America/Menominee America/Menominee
|
|
America/Merida America/Merida
|
|
America/Metlakatla America/Metlakatla
|
|
America/Mexico_City America/Mexico_City
|
|
America/Miquelon America/Miquelon
|
|
America/Moncton America/Moncton
|
|
America/Monterrey America/Monterrey
|
|
America/Montevideo America/Montevideo
|
|
America/Montreal America/Montreal
|
|
America/Montserrat PRT
|
|
America/Nassau America/Nassau
|
|
America/New_York EST5EDT
|
|
America/Nipigon America/Nipigon
|
|
America/Nome America/Nome
|
|
America/Noronha America/Noronha
|
|
America/North_Dakota/Beulah America/North_Dakota/Beulah
|
|
America/North_Dakota/Center America/North_Dakota/Center
|
|
America/North_Dakota/New_Salem America/North_Dakota/New_Salem
|
|
America/Nuuk America/Nuuk
|
|
America/Ojinaga America/Ojinaga
|
|
America/Panama EST
|
|
America/Pangnirtung America/Pangnirtung
|
|
America/Paramaribo America/Paramaribo
|
|
America/Phoenix MST
|
|
America/Port-au-Prince America/Port-au-Prince
|
|
America/Port_of_Spain PRT
|
|
America/Porto_Acre America/Porto_Acre
|
|
America/Porto_Velho America/Porto_Velho
|
|
America/Puerto_Rico PRT
|
|
America/Punta_Arenas America/Punta_Arenas
|
|
America/Rainy_River America/Rainy_River
|
|
America/Rankin_Inlet America/Rankin_Inlet
|
|
America/Recife America/Recife
|
|
America/Regina America/Regina
|
|
America/Resolute America/Resolute
|
|
America/Rio_Branco America/Rio_Branco
|
|
America/Rosario America/Rosario
|
|
America/Santa_Isabel America/Santa_Isabel
|
|
America/Santarem America/Santarem
|
|
America/Santiago America/Santiago
|
|
America/Santo_Domingo America/Santo_Domingo
|
|
America/Sao_Paulo BET
|
|
America/Scoresbysund America/Scoresbysund
|
|
America/Shiprock Navajo
|
|
America/Sitka America/Sitka
|
|
America/St_Barthelemy PRT
|
|
America/St_Johns CNT
|
|
America/St_Kitts PRT
|
|
America/St_Lucia PRT
|
|
America/St_Thomas PRT
|
|
America/St_Vincent PRT
|
|
America/Swift_Current America/Swift_Current
|
|
America/Tegucigalpa America/Tegucigalpa
|
|
America/Thule America/Thule
|
|
America/Thunder_Bay America/Thunder_Bay
|
|
America/Tijuana America/Tijuana
|
|
America/Toronto America/Toronto
|
|
America/Tortola PRT
|
|
America/Vancouver America/Vancouver
|
|
America/Virgin PRT
|
|
America/Whitehorse America/Whitehorse
|
|
America/Winnipeg America/Winnipeg
|
|
America/Yakutat America/Yakutat
|
|
America/Yellowknife America/Yellowknife
|
|
Antarctica/Casey Antarctica/Casey
|
|
Antarctica/Davis Antarctica/Davis
|
|
Antarctica/DumontDUrville Antarctica/DumontDUrville
|
|
Antarctica/Macquarie Antarctica/Macquarie
|
|
Antarctica/Mawson Antarctica/Mawson
|
|
Antarctica/McMurdo NZ
|
|
Antarctica/Palmer Antarctica/Palmer
|
|
Antarctica/Rothera Antarctica/Rothera
|
|
Antarctica/South_Pole NZ
|
|
Antarctica/Syowa Antarctica/Syowa
|
|
Antarctica/Troll Antarctica/Troll
|
|
Antarctica/Vostok Antarctica/Vostok
|
|
Arctic/Longyearbyen Arctic/Longyearbyen
|
|
Asia/Aden Asia/Aden
|
|
Asia/Almaty Asia/Almaty
|
|
Asia/Amman Asia/Amman
|
|
Asia/Anadyr Asia/Anadyr
|
|
Asia/Aqtau Asia/Aqtau
|
|
Asia/Aqtobe Asia/Aqtobe
|
|
Asia/Ashgabat Asia/Ashgabat
|
|
Asia/Ashkhabad Asia/Ashkhabad
|
|
Asia/Atyrau Asia/Atyrau
|
|
Asia/Baghdad Asia/Baghdad
|
|
Asia/Bahrain Asia/Bahrain
|
|
Asia/Baku Asia/Baku
|
|
Asia/Bangkok Asia/Bangkok
|
|
Asia/Barnaul Asia/Barnaul
|
|
Asia/Beirut Asia/Beirut
|
|
Asia/Bishkek Asia/Bishkek
|
|
Asia/Brunei Asia/Brunei
|
|
Asia/Calcutta IST
|
|
Asia/Chita Asia/Chita
|
|
Asia/Choibalsan Asia/Choibalsan
|
|
Asia/Chongqing CTT
|
|
Asia/Chungking CTT
|
|
Asia/Colombo Asia/Colombo
|
|
Asia/Dacca BST
|
|
Asia/Damascus Asia/Damascus
|
|
Asia/Dhaka BST
|
|
Asia/Dili Asia/Dili
|
|
Asia/Dubai Asia/Dubai
|
|
Asia/Dushanbe Asia/Dushanbe
|
|
Asia/Famagusta Asia/Famagusta
|
|
Asia/Gaza Asia/Gaza
|
|
Asia/Harbin CTT
|
|
Asia/Hebron Asia/Hebron
|
|
Asia/Ho_Chi_Minh VST
|
|
Asia/Hong_Kong Hongkong
|
|
Asia/Hovd Asia/Hovd
|
|
Asia/Irkutsk Asia/Irkutsk
|
|
Asia/Istanbul Turkey
|
|
Asia/Jakarta Asia/Jakarta
|
|
Asia/Jayapura Asia/Jayapura
|
|
Asia/Jerusalem Israel
|
|
Asia/Kabul Asia/Kabul
|
|
Asia/Kamchatka Asia/Kamchatka
|
|
Asia/Karachi PLT
|
|
Asia/Kashgar Asia/Kashgar
|
|
Asia/Kathmandu Asia/Kathmandu
|
|
Asia/Katmandu Asia/Katmandu
|
|
Asia/Khandyga Asia/Khandyga
|
|
Asia/Kolkata IST
|
|
Asia/Krasnoyarsk Asia/Krasnoyarsk
|
|
Asia/Kuala_Lumpur Singapore
|
|
Asia/Kuching Asia/Kuching
|
|
Asia/Kuwait Asia/Kuwait
|
|
Asia/Macao Asia/Macao
|
|
Asia/Macau Asia/Macau
|
|
Asia/Magadan Asia/Magadan
|
|
Asia/Makassar Asia/Makassar
|
|
Asia/Manila Asia/Manila
|
|
Asia/Muscat Asia/Muscat
|
|
Asia/Nicosia Asia/Nicosia
|
|
Asia/Novokuznetsk Asia/Novokuznetsk
|
|
Asia/Novosibirsk Asia/Novosibirsk
|
|
Asia/Omsk Asia/Omsk
|
|
Asia/Oral Asia/Oral
|
|
Asia/Phnom_Penh Asia/Phnom_Penh
|
|
Asia/Pontianak Asia/Pontianak
|
|
Asia/Pyongyang Asia/Pyongyang
|
|
Asia/Qatar Asia/Qatar
|
|
Asia/Qostanay Asia/Qostanay
|
|
Asia/Qyzylorda Asia/Qyzylorda
|
|
Asia/Rangoon Asia/Rangoon
|
|
Asia/Riyadh Asia/Riyadh
|
|
Asia/Saigon VST
|
|
Asia/Sakhalin Asia/Sakhalin
|
|
Asia/Samarkand Asia/Samarkand
|
|
Asia/Seoul ROK
|
|
Asia/Shanghai CTT
|
|
Asia/Singapore Singapore
|
|
Asia/Srednekolymsk Asia/Srednekolymsk
|
|
Asia/Taipei ROC
|
|
Asia/Tashkent Asia/Tashkent
|
|
Asia/Tbilisi Asia/Tbilisi
|
|
Asia/Tehran Iran
|
|
Asia/Tel_Aviv Israel
|
|
Asia/Thimbu Asia/Thimbu
|
|
Asia/Thimphu Asia/Thimphu
|
|
Asia/Tokyo JST
|
|
Asia/Tomsk Asia/Tomsk
|
|
Asia/Ujung_Pandang Asia/Ujung_Pandang
|
|
Asia/Ulaanbaatar Asia/Ulaanbaatar
|
|
Asia/Ulan_Bator Asia/Ulan_Bator
|
|
Asia/Urumqi Asia/Urumqi
|
|
Asia/Ust-Nera Asia/Ust-Nera
|
|
Asia/Vientiane Asia/Vientiane
|
|
Asia/Vladivostok Asia/Vladivostok
|
|
Asia/Yakutsk Asia/Yakutsk
|
|
Asia/Yangon Asia/Yangon
|
|
Asia/Yekaterinburg Asia/Yekaterinburg
|
|
Asia/Yerevan NET
|
|
Atlantic/Azores Atlantic/Azores
|
|
Atlantic/Bermuda Atlantic/Bermuda
|
|
Atlantic/Canary Atlantic/Canary
|
|
Atlantic/Cape_Verde Atlantic/Cape_Verde
|
|
Atlantic/Faeroe Atlantic/Faeroe
|
|
Atlantic/Faroe Atlantic/Faroe
|
|
Atlantic/Jan_Mayen Atlantic/Jan_Mayen
|
|
Atlantic/Madeira Atlantic/Madeira
|
|
Atlantic/Reykjavik Iceland
|
|
Atlantic/South_Georgia Atlantic/South_Georgia
|
|
Atlantic/St_Helena Iceland
|
|
Atlantic/Stanley Atlantic/Stanley
|
|
Australia/ACT AET
|
|
Australia/Adelaide Australia/Adelaide
|
|
Australia/Brisbane Australia/Brisbane
|
|
Australia/Broken_Hill Australia/Broken_Hill
|
|
Australia/Canberra AET
|
|
Australia/Currie Australia/Currie
|
|
Australia/Darwin ACT
|
|
Australia/Eucla Australia/Eucla
|
|
Australia/Hobart Australia/Hobart
|
|
Australia/LHI Australia/LHI
|
|
Australia/Lindeman Australia/Lindeman
|
|
Australia/Lord_Howe Australia/Lord_Howe
|
|
Australia/Melbourne Australia/Melbourne
|
|
Australia/NSW AET
|
|
Australia/North ACT
|
|
Australia/Perth Australia/Perth
|
|
Australia/Queensland Australia/Queensland
|
|
Australia/South Australia/South
|
|
Australia/Sydney AET
|
|
Australia/Tasmania Australia/Tasmania
|
|
Australia/Victoria Australia/Victoria
|
|
Australia/West Australia/West
|
|
Australia/Yancowinna Australia/Yancowinna
|
|
BET BET
|
|
BST BST
|
|
Brazil/Acre Brazil/Acre
|
|
Brazil/DeNoronha Brazil/DeNoronha
|
|
Brazil/East BET
|
|
Brazil/West Brazil/West
|
|
CAT CAT
|
|
CET CET
|
|
CNT CNT
|
|
CST CST
|
|
CST6CDT CST
|
|
CTT CTT
|
|
Canada/Atlantic Canada/Atlantic
|
|
Canada/Central Canada/Central
|
|
Canada/East-Saskatchewan Canada/East-Saskatchewan
|
|
Canada/Eastern Canada/Eastern
|
|
Canada/Mountain Canada/Mountain
|
|
Canada/Newfoundland CNT
|
|
Canada/Pacific Canada/Pacific
|
|
Canada/Saskatchewan Canada/Saskatchewan
|
|
Canada/Yukon Canada/Yukon
|
|
Chile/Continental Chile/Continental
|
|
Chile/EasterIsland Chile/EasterIsland
|
|
Cuba Cuba
|
|
EAT EAT
|
|
ECT ECT
|
|
EET EET
|
|
EST EST
|
|
EST5EDT EST5EDT
|
|
Egypt ART
|
|
Eire Eire
|
|
Etc/GMT GMT
|
|
Etc/GMT+0 GMT
|
|
Etc/GMT+1 Etc/GMT+1
|
|
Etc/GMT+10 Etc/GMT+10
|
|
Etc/GMT+11 Etc/GMT+11
|
|
Etc/GMT+12 Etc/GMT+12
|
|
Etc/GMT+2 Etc/GMT+2
|
|
Etc/GMT+3 Etc/GMT+3
|
|
Etc/GMT+4 Etc/GMT+4
|
|
Etc/GMT+5 Etc/GMT+5
|
|
Etc/GMT+6 Etc/GMT+6
|
|
Etc/GMT+7 Etc/GMT+7
|
|
Etc/GMT+8 Etc/GMT+8
|
|
Etc/GMT+9 Etc/GMT+9
|
|
Etc/GMT-0 GMT
|
|
Etc/GMT-1 Etc/GMT-1
|
|
Etc/GMT-10 Etc/GMT-10
|
|
Etc/GMT-11 Etc/GMT-11
|
|
Etc/GMT-12 Etc/GMT-12
|
|
Etc/GMT-13 Etc/GMT-13
|
|
Etc/GMT-14 Etc/GMT-14
|
|
Etc/GMT-2 Etc/GMT-2
|
|
Etc/GMT-3 Etc/GMT-3
|
|
Etc/GMT-4 Etc/GMT-4
|
|
Etc/GMT-5 Etc/GMT-5
|
|
Etc/GMT-6 Etc/GMT-6
|
|
Etc/GMT-7 Etc/GMT-7
|
|
Etc/GMT-8 Etc/GMT-8
|
|
Etc/GMT-9 Etc/GMT-9
|
|
Etc/GMT0 GMT
|
|
Etc/Greenwich GMT
|
|
Etc/UCT UCT
|
|
Etc/UTC UCT
|
|
Etc/Universal UCT
|
|
Etc/Zulu UCT
|
|
Europe/Amsterdam CET
|
|
Europe/Andorra Europe/Andorra
|
|
Europe/Astrakhan Europe/Astrakhan
|
|
Europe/Athens EET
|
|
Europe/Belfast GB
|
|
Europe/Belgrade Europe/Belgrade
|
|
Europe/Berlin Europe/Berlin
|
|
Europe/Bratislava Europe/Bratislava
|
|
Europe/Brussels CET
|
|
Europe/Bucharest Europe/Bucharest
|
|
Europe/Budapest Europe/Budapest
|
|
Europe/Busingen Europe/Busingen
|
|
Europe/Chisinau Europe/Chisinau
|
|
Europe/Copenhagen Europe/Copenhagen
|
|
Europe/Dublin Eire
|
|
Europe/Gibraltar Europe/Gibraltar
|
|
Europe/Guernsey GB
|
|
Europe/Helsinki Europe/Helsinki
|
|
Europe/Isle_of_Man GB
|
|
Europe/Istanbul Turkey
|
|
Europe/Jersey GB
|
|
Europe/Kaliningrad Europe/Kaliningrad
|
|
Europe/Kiev Europe/Kiev
|
|
Europe/Kirov Europe/Kirov
|
|
Europe/Kyiv Europe/Kyiv
|
|
Europe/Lisbon WET
|
|
Europe/Ljubljana Europe/Ljubljana
|
|
Europe/London GB
|
|
Europe/Luxembourg CET
|
|
Europe/Madrid Europe/Madrid
|
|
Europe/Malta Europe/Malta
|
|
Europe/Mariehamn Europe/Mariehamn
|
|
Europe/Minsk Europe/Minsk
|
|
Europe/Monaco ECT
|
|
Europe/Moscow W-SU
|
|
Europe/Nicosia Europe/Nicosia
|
|
Europe/Oslo Europe/Oslo
|
|
Europe/Paris ECT
|
|
Europe/Podgorica Europe/Podgorica
|
|
Europe/Prague Europe/Prague
|
|
Europe/Riga Europe/Riga
|
|
Europe/Rome Europe/Rome
|
|
Europe/Samara Europe/Samara
|
|
Europe/San_Marino Europe/San_Marino
|
|
Europe/Sarajevo Europe/Sarajevo
|
|
Europe/Saratov Europe/Saratov
|
|
Europe/Simferopol Europe/Simferopol
|
|
Europe/Skopje Europe/Skopje
|
|
Europe/Sofia Europe/Sofia
|
|
Europe/Stockholm Europe/Stockholm
|
|
Europe/Tallinn Europe/Tallinn
|
|
Europe/Tirane Europe/Tirane
|
|
Europe/Tiraspol Europe/Tiraspol
|
|
Europe/Ulyanovsk Europe/Ulyanovsk
|
|
Europe/Uzhgorod Europe/Uzhgorod
|
|
Europe/Vaduz Europe/Vaduz
|
|
Europe/Vatican Europe/Vatican
|
|
Europe/Vienna Europe/Vienna
|
|
Europe/Vilnius Europe/Vilnius
|
|
Europe/Volgograd Europe/Volgograd
|
|
Europe/Warsaw Poland
|
|
Europe/Zagreb Europe/Zagreb
|
|
Europe/Zaporozhye Europe/Zaporozhye
|
|
Europe/Zurich Europe/Zurich
|
|
Factory Factory
|
|
GB GB
|
|
GB-Eire GB
|
|
GMT GMT
|
|
GMT+0 GMT
|
|
GMT-0 GMT
|
|
GMT0 GMT
|
|
Greenwich GMT
|
|
HST HST
|
|
Hongkong Hongkong
|
|
IET IET
|
|
IST IST
|
|
Iceland Iceland
|
|
Indian/Antananarivo EAT
|
|
Indian/Chagos Indian/Chagos
|
|
Indian/Christmas Indian/Christmas
|
|
Indian/Cocos Indian/Cocos
|
|
Indian/Comoro EAT
|
|
Indian/Kerguelen Indian/Kerguelen
|
|
Indian/Mahe Indian/Mahe
|
|
Indian/Maldives Indian/Maldives
|
|
Indian/Mauritius Indian/Mauritius
|
|
Indian/Mayotte EAT
|
|
Indian/Reunion Indian/Reunion
|
|
Iran Iran
|
|
Israel Israel
|
|
JST JST
|
|
Jamaica Jamaica
|
|
Japan JST
|
|
Kwajalein Kwajalein
|
|
Libya Libya
|
|
MET CET
|
|
MIT MIT
|
|
MST MST
|
|
MST7MDT Navajo
|
|
Mexico/BajaNorte Mexico/BajaNorte
|
|
Mexico/BajaSur Mexico/BajaSur
|
|
Mexico/General Mexico/General
|
|
NET NET
|
|
NST NZ
|
|
NZ NZ
|
|
NZ-CHAT NZ-CHAT
|
|
Navajo Navajo
|
|
PLT PLT
|
|
PNT MST
|
|
PRC CTT
|
|
PRT PRT
|
|
PST PST
|
|
PST8PDT PST
|
|
Pacific/Apia MIT
|
|
Pacific/Auckland NZ
|
|
Pacific/Bougainville Pacific/Bougainville
|
|
Pacific/Chatham NZ-CHAT
|
|
Pacific/Chuuk Pacific/Chuuk
|
|
Pacific/Easter Pacific/Easter
|
|
Pacific/Efate Pacific/Efate
|
|
Pacific/Enderbury Pacific/Enderbury
|
|
Pacific/Fakaofo Pacific/Fakaofo
|
|
Pacific/Fiji Pacific/Fiji
|
|
Pacific/Funafuti Pacific/Funafuti
|
|
Pacific/Galapagos Pacific/Galapagos
|
|
Pacific/Gambier Pacific/Gambier
|
|
Pacific/Guadalcanal SST
|
|
Pacific/Guam Pacific/Guam
|
|
Pacific/Honolulu HST
|
|
Pacific/Johnston HST
|
|
Pacific/Kanton Pacific/Kanton
|
|
Pacific/Kiritimati Pacific/Kiritimati
|
|
Pacific/Kosrae Pacific/Kosrae
|
|
Pacific/Kwajalein Kwajalein
|
|
Pacific/Majuro Pacific/Majuro
|
|
Pacific/Marquesas Pacific/Marquesas
|
|
Pacific/Midway Pacific/Midway
|
|
Pacific/Nauru Pacific/Nauru
|
|
Pacific/Niue Pacific/Niue
|
|
Pacific/Norfolk Pacific/Norfolk
|
|
Pacific/Noumea Pacific/Noumea
|
|
Pacific/Pago_Pago Pacific/Pago_Pago
|
|
Pacific/Palau Pacific/Palau
|
|
Pacific/Pitcairn Pacific/Pitcairn
|
|
Pacific/Pohnpei SST
|
|
Pacific/Ponape SST
|
|
Pacific/Port_Moresby Pacific/Port_Moresby
|
|
Pacific/Rarotonga Pacific/Rarotonga
|
|
Pacific/Saipan Pacific/Saipan
|
|
Pacific/Samoa Pacific/Samoa
|
|
Pacific/Tahiti Pacific/Tahiti
|
|
Pacific/Tarawa Pacific/Tarawa
|
|
Pacific/Tongatapu Pacific/Tongatapu
|
|
Pacific/Truk Pacific/Truk
|
|
Pacific/Wake Pacific/Wake
|
|
Pacific/Wallis Pacific/Wallis
|
|
Pacific/Yap Pacific/Yap
|
|
Poland Poland
|
|
Portugal WET
|
|
ROC ROC
|
|
ROK ROK
|
|
SST SST
|
|
Singapore Singapore
|
|
SystemV/AST4 SystemV/AST4
|
|
SystemV/AST4ADT SystemV/AST4ADT
|
|
SystemV/CST6 SystemV/CST6
|
|
SystemV/CST6CDT SystemV/CST6CDT
|
|
SystemV/EST5 SystemV/EST5
|
|
SystemV/EST5EDT SystemV/EST5EDT
|
|
SystemV/HST10 SystemV/HST10
|
|
SystemV/MST7 SystemV/MST7
|
|
SystemV/MST7MDT SystemV/MST7MDT
|
|
SystemV/PST8 SystemV/PST8
|
|
SystemV/PST8PDT SystemV/PST8PDT
|
|
SystemV/YST9 SystemV/YST9
|
|
SystemV/YST9YDT SystemV/YST9YDT
|
|
Turkey Turkey
|
|
UCT UCT
|
|
US/Alaska AST
|
|
US/Aleutian US/Aleutian
|
|
US/Arizona MST
|
|
US/Central CST
|
|
US/East-Indiana IET
|
|
US/Eastern EST5EDT
|
|
US/Hawaii HST
|
|
US/Indiana-Starke US/Indiana-Starke
|
|
US/Michigan US/Michigan
|
|
US/Mountain Navajo
|
|
US/Pacific PST
|
|
US/Pacific-New PST
|
|
US/Samoa US/Samoa
|
|
UTC UCT
|
|
Universal UCT
|
|
VST VST
|
|
W-SU W-SU
|
|
WET WET
|
|
Zulu UCT
|
|
|
|
#
|
|
# Time Zone Rule updates
|
|
#
|
|
# These are conventionally named YYYYx, where x is a lower case letter.
|
|
#
|
|
|
|
# 2022e
|
|
# Jordan and Syria are abandoning the DST regime and are changing to
|
|
# permanent +03, so they will not fall back from +03 to +02 on
|
|
# 2022-10-28.
|
|
statement ok
|
|
SET TimeZone = 'Asia/Amman';
|
|
|
|
query I
|
|
SELECT '2022-10-29 00:00:00+00'::TIMESTAMPTZ;
|
|
----
|
|
2022-10-29 03:00:00+03
|
|
|
|
# 2022f
|
|
# Chihuahua moves to year-round -06 on 2022-10-30.
|
|
statement ok
|
|
SET TimeZone = 'America/Chihuahua';
|
|
|
|
query I
|
|
SELECT '2022-11-01 00:00:00+00'::TIMESTAMPTZ;
|
|
----
|
|
2022-10-31 18:00:00-06
|
|
|
|
# 2022g
|
|
# The northern edge of Chihuahua changes to US timekeeping (DST).
|
|
statement ok
|
|
SET TimeZone = 'America/Ciudad_Juarez';
|
|
|
|
query I
|
|
SELECT '2023-05-01 12:00:00+00'::TIMESTAMPTZ;
|
|
----
|
|
2023-05-01 06:00:00-06
|
|
|
|
# 2023a
|
|
# Egypt now uses DST again, from April through October
|
|
statement ok
|
|
SET TimeZone = 'Egypt';
|
|
|
|
query I
|
|
SELECT '2023-05-15 12:00:00+00'::TIMESTAMPTZ;
|
|
----
|
|
2023-05-15 15:00:00+03
|
|
|
|
# 2023b
|
|
# This year Lebanon springs forward April 20/21 not March 25/26.
|
|
# 2023c
|
|
# This release's code and data are identical to 2023a.
|
|
# In other words, this release reverts all changes made in 2023b other than commentary,
|
|
# as that appears to be the best of a bad set of short-notice choices for modeling
|
|
# this week's daylight saving chaos in Lebanon.
|
|
|
|
statement ok
|
|
SET TimeZone = 'Asia/Beirut';
|
|
|
|
query II
|
|
SELECT '2023-03-26 12:00:00+00'::TIMESTAMPTZ, '2023-04-21 12:00:00+00'::TIMESTAMPTZ;
|
|
----
|
|
2023-03-26 15:00:00+03 2023-04-21 15:00:00+03
|
|
|
|
|
|
# Greenland 2023 time zone change
|
|
statement ok
|
|
SET TimeZone = 'America/Nuuk';
|
|
|
|
query II
|
|
SELECT '2022-10-30 03:00:00-07'::TIMESTAMPTZ, '2023-10-30 02:00:00-07'::TIMESTAMPTZ;
|
|
----
|
|
2022-10-30 07:00:00-03 2023-10-30 07:00:00-02
|
|
|
|
# 2023d
|
|
# Ittoqqortoormiit, Greenland changes time zones on 2024-03-31
|
|
# from -01/+00 to -02/-01 at the same moment as the spring-forward transition.
|
|
statement ok
|
|
SET TimeZone = 'America/Scoresbysund';
|
|
|
|
query II
|
|
SELECT '2024-03-31 00:59:00-01'::TIMESTAMPTZ, '2024-03-31 01:00:00-01'::TIMESTAMPTZ;
|
|
----
|
|
2024-03-31 00:59:00-01 2024-03-31 01:00:00-01
|
|
|
|
|
|
# 2024a
|
|
# Kazakhstan unifies on UTC+5 beginning 2024-03-01.
|
|
statement ok
|
|
SET TimeZone = 'Asia/Almaty';
|
|
|
|
query II
|
|
select '2024-02-29 00:00:00+06'::TIMESTAMPTZ, '2024-03-01 01:00:00+06'::TIMESTAMPTZ;
|
|
----
|
|
2024-02-29 00:00:00+06 2024-03-01 00:00:00+05
|
|
|
|
# 2024b
|
|
# In particular, the Azores and Madeira did not observe DST from 1977 to 1981.
|
|
statement ok
|
|
SET TimeZone = 'Atlantic/Azores';
|
|
|
|
# Last DST error
|
|
query I
|
|
select '1981-09-27 01:00:00+00'::TIMESTAMPTZ;
|
|
----
|
|
1981-09-27 00:00:00-01
|
|
|
|
# 2025a
|
|
# Paraguay will stop changing its clocks after the spring-forward
|
|
# transition on 2024-10-06, so it is now permanently at -03.
|
|
statement ok
|
|
set timezone='America/Asuncion';
|
|
|
|
query I
|
|
select '2025-03-23'::timestamptz;
|
|
----
|
|
2025-03-23 00:00:00-03
|
|
|
|
query II
|
|
select utc_offset, is_dst
|
|
from pg_timezone_names()
|
|
where name = 'America/Asuncion'
|
|
----
|
|
-03:00:00 false
|
|
|
|
# 2025b
|
|
# Chile's Aysén Region moves from -04/-03 to -03 year-round, joining
|
|
# Magallanes Region. The region will not change its clocks on
|
|
# 2025-04-05 at 24:00, diverging from America/Santiago and creating a
|
|
# new zone America/Coyhaique
|
|
statement ok
|
|
set timezone='America/Coyhaique';
|
|
|
|
query I
|
|
select '2025-04-05'::timestamptz;
|
|
----
|
|
2025-04-05 00:00:00-03
|
|
|
|
query II
|
|
select utc_offset, is_dst
|
|
from pg_timezone_names()
|
|
where name = 'America/Coyhaique'
|
|
----
|
|
-03:00:00 false
|