This illustrates how 'backzone' can be used to migrate out-of-scope data out of the database proper. * africa (Africa/Luanda, Africa/Porto-Novo, Africa/Douala, Africa/Bangui) (Africa/Kinshasa, Africa/Brazzaville, Africa/Malabo, Africa/Libreville) (Africa/Niamey): Change these from zones to links (to Africa/Lagos). Move their old data from here ... * backzone: ... to here. * checktab.awk (tztab): Remove special cases for these zones. * NEWS: Document the above. --- NEWS | 8 ++++++++ africa | 60 ++++++++++++++++++------------------------------------------ backzone | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ checktab.awk | 9 --------- 4 files changed, 81 insertions(+), 51 deletions(-) diff --git a/NEWS b/NEWS index 7f27802..4be8450 100644 --- a/NEWS +++ b/NEWS @@ -26,6 +26,14 @@ Unreleased, experimental changes default. (Thanks to Lester Caine for the Guernsey, Jersey, and Isle of Man entries in 'backzone'.) + Some more zones have been turned into links, when they differed + from existing zones only for older time stamps. As usual, + these changes affect UTC offsets in pre-1970 time stamps only. + Their old data have been moved to the 'backzone' file. + The affected zones are: Africa/Bangui, Africa/Brazzaville, + Africa/Douala, Africa/Kinshasa, Africa/Libreville, Africa/Luanda, + Africa/Malabo, Africa/Niamey, and Africa/Porto-Novo. + Changes affecting code tzselect -c now uses a hybrid distance measure that works better diff --git a/africa b/africa index 37798e7..d251500 100644 --- a/africa +++ b/africa @@ -106,24 +106,8 @@ Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 15 0:01 1:00 - CET # Angola -# -# Shanks gives 1911-05-26 for the transition to WAT, -# evidently confusing the date of the Portuguese decree -# http://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf -# with the date that it took effect, namely 1912-01-01. -# -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Luanda 0:52:56 - LMT 1892 - 0:52:04 - AOT 1912 Jan 1 # Angola Time - 1:00 - WAT - # Benin -# Whitman says they switched to 1:00 in 1946, not 1934; -# go with Shanks & Pottenger. -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Porto-Novo 0:10:28 - LMT 1912 Jan 1 - 0:00 - GMT 1934 Feb 26 - 1:00 - WAT +# See Africa/Lagos. # Botswana # From Paul Eggert (2013-02-21): @@ -145,10 +129,7 @@ Zone Africa/Bujumbura 1:57:28 - LMT 1890 2:00 - CAT # Cameroon -# Whitman says they switched to 1:00 in 1920; go with Shanks & Pottenger. -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Douala 0:38:48 - LMT 1912 - 1:00 - WAT +# See Africa/Lagos. # Cape Verde # @@ -165,9 +146,7 @@ Zone Atlantic/Cape_Verde -1:34:04 - LMT 1907 # Praia -1:00 - CVT # Central African Republic -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Bangui 1:14:20 - LMT 1912 - 1:00 - WAT +# See Africa/Lagos. # Chad # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -181,17 +160,14 @@ Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena Zone Indian/Comoro 2:53:04 - LMT 1911 Jul # Moroni, Gran Comoro 3:00 - EAT -# Democratic Republic of Congo +# Democratic Republic of the Congo # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Kinshasa 1:01:12 - LMT 1897 Nov 9 - 1:00 - WAT Zone Africa/Lubumbashi 1:49:52 - LMT 1897 Nov 9 2:00 - CAT +# The above is for the eastern part; see Africa/Lagos for the western part. # Republic of the Congo -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Brazzaville 1:01:08 - LMT 1912 - 1:00 - WAT +# See Africa/Lagos. # Côte d'Ivoire / Ivory Coast # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -421,10 +397,7 @@ Zone Africa/Cairo 2:05:09 - LMT 1900 Oct 2:00 Egypt EE%sT # Equatorial Guinea -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Malabo 0:35:08 - LMT 1912 - 0:00 - GMT 1963 Dec 15 - 1:00 - WAT +# See Africa/Lagos. # Eritrea # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -449,9 +422,7 @@ Zone Africa/Addis_Ababa 2:34:48 - LMT 1870 3:00 - EAT # Gabon -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Libreville 0:37:48 - LMT 1912 - 1:00 - WAT +# See Africa/Lagos. # Gambia # See Africa/Abidjan. @@ -1023,16 +994,21 @@ Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8 1:00 Namibia WA%sT # Niger -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Niamey 0:08:28 - LMT 1912 - -1:00 - WAT 1934 Feb 26 - 0:00 - GMT 1960 - 1:00 - WAT +# See Africa/Lagos. # Nigeria # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Lagos 0:13:36 - LMT 1919 Sep 1:00 - WAT +Link Africa/Lagos Africa/Bangui # Central African Republic +Link Africa/Lagos Africa/Brazzaville # Rep. of the Congo +Link Africa/Lagos Africa/Douala # Cameroon +Link Africa/Lagos Africa/Kinshasa # Dem. Rep. of the Congo (west) +Link Africa/Lagos Africa/Libreville # Gabon +Link Africa/Lagos Africa/Luanda # Angola +Link Africa/Lagos Africa/Malabo # Equatorial Guinea +Link Africa/Lagos Africa/Niamey # Niger +Link Africa/Lagos Africa/Porto-Novo # Benin # Réunion # Zone NAME GMTOFF RULES FORMAT [UNTIL] diff --git a/backzone b/backzone index b9c9433..8c5848f 100644 --- a/backzone +++ b/backzone @@ -44,12 +44,20 @@ Zone Africa/Bamako -0:32:00 - LMT 1912 -1:00 - WAT 1960 Jun 20 0:00 - GMT +# Central African Republic +Zone Africa/Bangui 1:14:20 - LMT 1912 + 1:00 - WAT + # Gambia Zone Africa/Banjul -1:06:36 - LMT 1912 -1:06:36 - BMT 1935 # Banjul Mean Time -1:00 - WAT 1964 0:00 - GMT +# Republic of the Congo +Zone Africa/Brazzaville 1:01:08 - LMT 1912 + 1:00 - WAT + # Guinea Zone Africa/Conakry -0:54:52 - LMT 1912 0:00 - GMT 1934 Feb 26 @@ -61,6 +69,10 @@ Zone Africa/Dakar -1:09:44 - LMT 1912 -1:00 - WAT 1941 Jun 0:00 - GMT +# Cameroon +# Whitman says they switched to 1:00 in 1920; go with Shanks & Pottenger. +Zone Africa/Douala 0:38:48 - LMT 1912 + 1:00 - WAT # Sierra Leone # From Paul Eggert (2014-08-12): # The following table is from Shanks & Pottenger, but it can't be right. @@ -82,10 +94,46 @@ Zone Africa/Juba 2:06:24 - LMT 1931 2:00 Sudan CA%sT 2000 Jan 15 12:00 3:00 - EAT +# Democratic Republic of the Congo (west) +Zone Africa/Kinshasa 1:01:12 - LMT 1897 Nov 9 + 1:00 - WAT + +# Gabon +Zone Africa/Libreville 0:37:48 - LMT 1912 + 1:00 - WAT + +# Angola +# +# Shanks gives 1911-05-26 for the transition to WAT, +# evidently confusing the date of the Portuguese decree +# http://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf +# with the date that it took effect, namely 1912-01-01. +# +Zone Africa/Luanda 0:52:56 - LMT 1892 + 0:52:04 - AOT 1912 Jan 1 # Angola Time + 1:00 - WAT + # Togo Zone Africa/Lome 0:04:52 - LMT 1893 0:00 - GMT +# Equatorial Guinea +# +# Although Shanks says that Malabo switched from UTC to UTC+1 on 1963-12-15, +# a Google Books search says that London Calling, Issues 432-465 (1948), p 19, +# says that Spanish Guinea was at GMT+1 back then. The Shanks data are most +# likely wrong, but we have nothing better; use them here for now. +# +Zone Africa/Malabo 0:35:08 - LMT 1912 + 0:00 - GMT 1963 Dec 15 + 1:00 - WAT + +# Niger +Zone Africa/Niamey 0:08:28 - LMT 1912 + -1:00 - WAT 1934 Feb 26 + 0:00 - GMT 1960 + 1:00 - WAT + # Mauritania Zone Africa/Nouakchott -1:03:48 - LMT 1912 0:00 - GMT 1934 Feb 26 @@ -96,6 +144,13 @@ Zone Africa/Nouakchott -1:03:48 - LMT 1912 Zone Africa/Ouagadougou -0:06:04 - LMT 1912 0:00 - GMT +# Benin +# Whitman says they switched to 1:00 in 1946, not 1934; +# go with Shanks & Pottenger. +Zone Africa/Porto-Novo 0:10:28 - LMT 1912 Jan 1 + 0:00 - GMT 1934 Feb 26 + 1:00 - WAT + # São Tomé and Príncipe Zone Africa/Sao_Tome 0:26:56 - LMT 1884 -0:36:32 - LMT 1912 # Lisbon Mean Time diff --git a/checktab.awk b/checktab.awk index 17f29bb..0f113f4 100644 --- a/checktab.awk +++ b/checktab.awk @@ -17,28 +17,19 @@ BEGIN { if (zone_table == "zone1970.tab") { tztab["Africa/Addis_Ababa"] = 1 tztab["Africa/Asmara"] = 1 - tztab["Africa/Bangui"] = 1 tztab["Africa/Blantyre"] = 1 - tztab["Africa/Brazzaville"] = 1 tztab["Africa/Bujumbura"] = 1 tztab["Africa/Dar_es_Salaam"] = 1 tztab["Africa/Djibouti"] = 1 - tztab["Africa/Douala"] = 1 tztab["Africa/Gaborone"] = 1 tztab["Africa/Harare"] = 1 tztab["Africa/Kampala"] = 1 tztab["Africa/Kigali"] = 1 - tztab["Africa/Kinshasa"] = 1 - tztab["Africa/Libreville"] = 1 - tztab["Africa/Luanda"] = 1 tztab["Africa/Lubumbashi"] = 1 tztab["Africa/Lusaka"] = 1 - tztab["Africa/Malabo"] = 1 tztab["Africa/Maseru"] = 1 tztab["Africa/Mbabane"] = 1 tztab["Africa/Mogadishu"] = 1 - tztab["Africa/Niamey"] = 1 - tztab["Africa/Porto-Novo"] = 1 tztab["America/Antigua"] = 1 tztab["America/Cayman"] = 1 tztab["Asia/Aden"] = 1 -- 1.9.1