Skip to content

Commit cd24791

Browse files
committed
Update our mapping of Windows time zone names some more.
Per discussion, let's just follow CLDR's default zone mappings faithfully. There are two changes here that are clear improvements: * Mapping "Greenwich Standard Time" to Atlantic/Reykjavik is actually a better fit than using London, because Iceland hasn't observed DST since 1968, so this is more nearly what people might expect. * Since the "Samoa" zone is specified to be UTC+13:00, we must map it to Pacific/Apia not Pacific/Samoa; the latter refers to American Samoa which is now on the other side of the date line. The rest of these changes look like they're choosing the most populous IANA zone as representative. Whatever the details, we're just going to say "if you don't like this mapping, complain to CLDR". Discussion: https://postgr.es/m/3266414.1633045628@sss.pgh.pa.us
1 parent 8a6a1fe commit cd24791

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

src/bin/initdb/findtimezone.c

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -740,8 +740,8 @@ static const struct
740740
* additions have been made by comparing to the CLDR project's
741741
* windowsZones.xml file.
742742
*
743-
* The zones have been matched to IANA timezones based on CLDR's mapping,
744-
* with a few manual exceptions.
743+
* The zones have been matched to IANA timezones based on CLDR's mapping
744+
* for "territory 001".
745745
*/
746746
{
747747
/* (UTC+04:30) Kabul */
@@ -868,11 +868,10 @@ static const struct
868868
"Cen. Australia Standard Time", "Cen. Australia Daylight Time",
869869
"Australia/Adelaide"
870870
},
871-
/* Central America (other than Mexico) generally does not observe DST */
872871
{
873872
/* (UTC-06:00) Central America */
874873
"Central America Standard Time", "Central America Daylight Time",
875-
"CST6"
874+
"America/Guatemala"
876875
},
877876
{
878877
/* (UTC+06:00) Astana */
@@ -887,7 +886,7 @@ static const struct
887886
{
888887
/* (UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague */
889888
"Central Europe Standard Time", "Central Europe Daylight Time",
890-
"Europe/Belgrade"
889+
"Europe/Budapest"
891890
},
892891
{
893892
/* (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb */
@@ -897,7 +896,7 @@ static const struct
897896
{
898897
/* (UTC+11:00) Solomon Is., New Caledonia */
899898
"Central Pacific Standard Time", "Central Pacific Daylight Time",
900-
"Pacific/Noumea"
899+
"Pacific/Guadalcanal"
901900
},
902901
{
903902
/* (UTC-06:00) Central Time (US & Canada) */
@@ -987,7 +986,7 @@ static const struct
987986
{
988987
/* (UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius */
989988
"FLE Standard Time", "FLE Daylight Time",
990-
"Europe/Helsinki"
989+
"Europe/Kiev"
991990
},
992991
{
993992
/* (UTC+04:00) Tbilisi */
@@ -1009,16 +1008,17 @@ static const struct
10091008
* Windows uses this zone name in various places that lie near the
10101009
* prime meridian, but are not in the UK. However, most people
10111010
* probably think that "Greenwich" means UK civil time, or maybe even
1012-
* straight-up UTC. Hence, map to Europe/London.
1011+
* straight-up UTC. Atlantic/Reykjavik is a decent match for that
1012+
* interpretation because Iceland hasn't observed DST since 1968.
10131013
*/
10141014
/* (UTC+00:00) Monrovia, Reykjavik */
10151015
"Greenwich Standard Time", "Greenwich Daylight Time",
1016-
"Europe/London"
1016+
"Atlantic/Reykjavik"
10171017
},
10181018
{
10191019
/* (UTC+02:00) Athens, Bucharest */
10201020
"GTB Standard Time", "GTB Daylight Time",
1021-
"Europe/Athens"
1021+
"Europe/Bucharest"
10221022
},
10231023
{
10241024
/* (UTC-05:00) Haiti */
@@ -1243,7 +1243,7 @@ static const struct
12431243
{
12441244
/* (UTC+01:00) Brussels, Copenhagen, Madrid, Paris */
12451245
"Romance Standard Time", "Romance Daylight Time",
1246-
"Europe/Brussels"
1246+
"Europe/Paris"
12471247
},
12481248
{
12491249
/* (UTC+04:00) Izhevsk, Samara */
@@ -1348,7 +1348,7 @@ static const struct
13481348
{
13491349
/* (UTC+13:00) Samoa */
13501350
"Samoa Standard Time", "Samoa Daylight Time",
1351-
"Pacific/Samoa"
1351+
"Pacific/Apia"
13521352
},
13531353
{
13541354
/* (UTC+00:00) Sao Tome */
@@ -1518,7 +1518,7 @@ static const struct
15181518
{
15191519
/* (UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna */
15201520
"W. Europe Standard Time", "W. Europe Daylight Time",
1521-
"CET"
1521+
"Europe/Berlin"
15221522
},
15231523
{
15241524
/* (UTC+07:00) Hovd */
@@ -1543,7 +1543,7 @@ static const struct
15431543
{
15441544
/* (UTC+10:00) Guam, Port Moresby */
15451545
"West Pacific Standard Time", "West Pacific Daylight Time",
1546-
"Pacific/Guam"
1546+
"Pacific/Port_Moresby"
15471547
},
15481548
{
15491549
/* (UTC+09:00) Yakutsk */

0 commit comments

Comments
 (0)