From 40d4bc5acd0aeaf4fbbd4716a22f998b2580f42b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 24 Apr 2020 17:53:23 -0400 Subject: [PATCH] Update Windows timezone name list to include currently-known zones. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Thanks to Juan José Santamaría Flecha. Discussion: https://postgr.es/m/5752.1587740484@sss.pgh.pa.us --- src/bin/initdb/findtimezone.c | 89 ++++++++++++++++++++++++++--------- src/tools/win32tzlist.pl | 2 +- 2 files changed, 68 insertions(+), 23 deletions(-) diff --git a/src/bin/initdb/findtimezone.c b/src/bin/initdb/findtimezone.c index 853403d7d8e..379165d0f27 100644 --- a/src/bin/initdb/findtimezone.c +++ b/src/bin/initdb/findtimezone.c @@ -735,7 +735,7 @@ static const struct /* * This list was built from the contents of the registry at * HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time - * Zones on Windows 10 and Windows 7. + * Zones on Windows 7, Windows 10, and Windows Server 2019. * * The zones have been matched to IANA timezones by looking at the cities * listed in the win32 display name (in the comment here) in most cases. @@ -937,7 +937,7 @@ static const struct "Australia/Brisbane" }, { - /* (UTC+02:00) E. Europe */ + /* (UTC+02:00) Chisinau */ "E. Europe Standard Time", "E. Europe Daylight Time", "Europe/Bucharest" }, @@ -987,7 +987,7 @@ static const struct "Asia/Tbilisi" }, { - /* (UTC) Dublin, Edinburgh, Lisbon, London */ + /* (UTC+00:00) Dublin, Edinburgh, Lisbon, London */ "GMT Standard Time", "GMT Daylight Time", "Europe/London" }, @@ -997,7 +997,7 @@ static const struct "America/Godthab" }, { - /* (UTC) Monrovia, Reykjavik */ + /* (UTC+00:00) Monrovia, Reykjavik */ "Greenwich Standard Time", "Greenwich Daylight Time", "Africa/Casablanca" }, @@ -1062,10 +1062,15 @@ static const struct "Australia/Lord_Howe" }, { - /* (UTC+10:00) Magadan */ + /* (UTC+11:00) Magadan */ "Magadan Standard Time", "Magadan Daylight Time", "Asia/Magadan" }, + { + /* (UTC-03:00) Punta Arenas */ + "Magallanes Standard Time", "Magallanes Daylight Time", + "America/Punta_Arenas" + }, { /* (UTC-09:30) Marquesas Islands */ "Marquesas Standard Time", "Marquesas Daylight Time", @@ -1102,7 +1107,7 @@ static const struct "America/Montevideo" }, { - /* (UTC) Casablanca */ + /* (UTC+01:00) Casablanca */ "Morocco Standard Time", "Morocco Daylight Time", "Africa/Casablanca" }, @@ -1127,7 +1132,7 @@ static const struct "Asia/Novosibirsk" }, { - /* (UTC+01:00) Windhoek */ + /* (UTC+02:00) Windhoek */ "Namibia Standard Time", "Namibia Daylight Time", "Africa/Windhoek" }, @@ -1162,12 +1167,22 @@ static const struct "Asia/Krasnoyarsk" }, { - /* (UTC+08:30) Pyongyang */ + /* (UTC+09:00) Pyongyang */ "North Korea Standard Time", "North Korea Daylight Time", "Asia/Pyongyang" }, { - /* (UTC-03:00) Santiago */ + /* (UTC+07:00) Novosibirsk */ + "Novosibirsk Standard Time", "Novosibirsk Daylight Time", + "Asia/Novosibirsk" + }, + { + /* (UTC+06:00) Omsk */ + "Omsk Standard Time", "Omsk Daylight Time", + "Asia/Omsk" + }, + { + /* (UTC-04:00) Santiago */ "Pacific SA Standard Time", "Pacific SA Daylight Time", "America/Santiago" }, @@ -1191,28 +1206,33 @@ static const struct "Paraguay Standard Time", "Paraguay Daylight Time", "America/Asuncion" }, + { + /* (UTC+05:00) Qyzylorda */ + "Qyzylorda Standard Time", "Qyzylorda Daylight Time", + "Asia/Qyzylorda" + }, { /* (UTC+01:00) Brussels, Copenhagen, Madrid, Paris */ "Romance Standard Time", "Romance Daylight Time", "Europe/Brussels" }, { - /* (UTC+02:00) Kaliningrad (RTZ 1) */ + /* (UTC+02:00) Kaliningrad */ "Russia TZ 1 Standard Time", "Russia TZ 1 Daylight Time", "Europe/Kaliningrad" }, { - /* (UTC+03:00) Moscow, St. Petersburg, Volgograd (RTZ 2) */ + /* (UTC+03:00) Moscow, St. Petersburg */ "Russia TZ 2 Standard Time", "Russia TZ 2 Daylight Time", "Europe/Moscow" }, { - /* (UTC+04:00) Izhevsk, Samara (RTZ 3) */ + /* (UTC+04:00) Izhevsk, Samara */ "Russia TZ 3 Standard Time", "Russia TZ 3 Daylight Time", "Europe/Samara" }, { - /* (UTC+05:00) Ekaterinburg (RTZ 4) */ + /* (UTC+05:00) Ekaterinburg */ "Russia TZ 4 Standard Time", "Russia TZ 4 Daylight Time", "Asia/Yekaterinburg" }, @@ -1222,32 +1242,32 @@ static const struct "Asia/Novosibirsk" }, { - /* (UTC+07:00) Krasnoyarsk (RTZ 6) */ + /* (UTC+07:00) Krasnoyarsk */ "Russia TZ 6 Standard Time", "Russia TZ 6 Daylight Time", "Asia/Krasnoyarsk" }, { - /* (UTC+08:00) Irkutsk (RTZ 7) */ + /* (UTC+08:00) Irkutsk */ "Russia TZ 7 Standard Time", "Russia TZ 7 Daylight Time", "Asia/Irkutsk" }, { - /* (UTC+09:00) Yakutsk (RTZ 8) */ + /* (UTC+09:00) Yakutsk */ "Russia TZ 8 Standard Time", "Russia TZ 8 Daylight Time", "Asia/Yakutsk" }, { - /* (UTC+10:00) Vladivostok, Magadan (RTZ 9) */ + /* (UTC+10:00) Vladivostok */ "Russia TZ 9 Standard Time", "Russia TZ 9 Daylight Time", "Asia/Vladivostok" }, { - /* (UTC+11:00) Chokurdakh (RTZ 10) */ + /* (UTC+11:00) Chokurdakh */ "Russia TZ 10 Standard Time", "Russia TZ 10 Daylight Time", "Asia/Magadan" }, { - /* (UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky (RTZ 11) */ + /* (UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky */ "Russia TZ 11 Standard Time", "Russia TZ 11 Daylight Time", "Asia/Anadyr" }, @@ -1281,6 +1301,16 @@ static const struct "Samoa Standard Time", "Samoa Daylight Time", "Pacific/Samoa" }, + { + /* (UTC+00:00) Sao Tome */ + "Sao Tome Standard Time", "Sao Tome Daylight Time", + "Africa/Sao_Tome" + }, + { + /* (UTC+04:00) Saratov */ + "Saratov Standard Time", "Saratov Daylight Time", + "Europe/Saratov" + }, { /* (UTC+07:00) Bangkok, Hanoi, Jakarta */ "SE Asia Standard Time", "SE Asia Daylight Time", @@ -1306,6 +1336,11 @@ static const struct "Sri Lanka Standard Time", "Sri Lanka Daylight Time", "Asia/Colombo" }, + { + /* (UTC+02:00) Khartoum */ + "Sudan Standard Time", "Sudan Daylight Time", + "Africa/Khartoum" + }, { /* (UTC+02:00) Damascus */ "Syria Standard Time", "Syria Daylight Time", @@ -1347,12 +1382,12 @@ static const struct "Asia/Chita" }, { - /* (UTC+02:00) Istanbul */ + /* (UTC+03:00) Istanbul */ "Turkey Standard Time", "Turkey Daylight Time", "Europe/Istanbul" }, { - /* (UTC-04:00) Turks and Caicos */ + /* (UTC-05:00) Turks and Caicos */ "Turks and Caicos Standard Time", "Turks and Caicos Daylight Time", "America/Grand_Turk" }, @@ -1381,6 +1416,11 @@ static const struct "UTC+12", "UTC+12", "Etc/GMT+12" }, + { + /* (UTC+13:00) Coordinated Universal Time+13 */ + "UTC+13", "UTC+13", + "Etc/GMT+13" + }, { /* (UTC-02:00) Coordinated Universal Time-02 */ "UTC-02", "UTC-02", @@ -1402,7 +1442,7 @@ static const struct "Etc/GMT-11" }, { - /* (UTC-04:30) Caracas */ + /* (UTC-04:00) Caracas */ "Venezuela Standard Time", "Venezuela Daylight Time", "America/Caracas", }, @@ -1411,6 +1451,11 @@ static const struct "Vladivostok Standard Time", "Vladivostok Daylight Time", "Asia/Vladivostok" }, + { + /* (UTC+04:00) Volgograd */ + "Volgograd Standard Time", "Volgograd Daylight Time", + "Europe/Volgograd" + }, { /* (UTC+08:00) Perth */ "W. Australia Standard Time", "W. Australia Daylight Time", diff --git a/src/tools/win32tzlist.pl b/src/tools/win32tzlist.pl index 54a847481f9..1366474bc51 100755 --- a/src/tools/win32tzlist.pl +++ b/src/tools/win32tzlist.pl @@ -121,7 +121,7 @@ if (@add) for my $z (@add) { print -"\t{\n\t\t\"$z->{std}\", \"$z->{dlt}\",\n\t\t\"FIXME\"\n\t},\t\t\t\t\t\t\t/* $z->{display} */\n"; + "\t{\n\t\t/* $z->{display} */\n\t\t\"$z->{std}\", \"$z->{dlt}\",\n\t\t\"FIXME\"\n\t},\n"; } } -- 2.39.5