[tz] Reason for removal of several TZ abbreviations
Michael Douglass
mikeadouglass at gmail.com
Tue Dec 5 00:21:04 UTC 2017
With a mapping table it doesn't matter what the id is. In fact any
scheme for producing an id that is reversible or ordered in any way will
lead to people using that then complaining down the road if you do
something that "breaks" their code.
I'd suggest writing a small routine to create an 8 character random
base64 id and get a new random id for each new zone. (I'd suggest a uuid
but they're bulky).
Then create a legacy-mappings.txt file to map all the current names and
aliases on to the new id - then we're sort of done.
I'd suggest a simple increasing sequence but you can guarantee that
somebody would use it as an index even if told not to.
Then we can stop having these long arguments about why one name or
another isn't in the tz data. Everybody is free to generate their own
list if they so wish.
On 12/4/17 19:05, J Andrew Lipscomb wrote:
>> Le 4 déc. 2017 à 18:18, Michael Douglass <mikeadouglass at gmail.com> a écrit :
>> Exactly - that's why I said opaque
> I just came up with a system I think is opaque enough while still maintaining a bit of useful information in the id:
> First up, it goes with the letter-digit-letter format.
>
> The first letter represents the (lower) GMT offset of the zone in military format.
> (This represents the one real flaw I see: a zone’s proper letter can change if it adopts something on the order of year-round daylight savings time.)
>
> The digit is usually 0. It changes in the following cases:
> 3 would indicate a +:15 zone if there were any, 5 is a +:30 zone, and 8 is a +:45 zone.
> 1 is used with M (normally +12) to indicate +13, and M2 similarly indicates +14.
> 1 is also used with other letters when the 0 range overflows.
>
> The second letter is meaningless UNLESS it is Z. Z indicates a non-geographic time zone (the Etc/ series of indicators).
>
> The list I just randomized, presented in order of newID:
>
> Africa/Ndjamena a0a
> Africa/Tunis a0b
> Europe/Gibraltar a0c
> Europe/Monaco a0d
> Europe/Oslo a0e
> Europe/Warsaw a0f
> Europe/Zurich a0g
> Europe/Madrid a0h
> Europe/Copenhagen a0i
> Europe/Brussels a0j
> Europe/Malta a0k
> Europe/Andorra a0l
> Africa/Algiers a0m
> Europe/Paris a0n
> Europe/Amsterdam a0o
> Europe/Luxembourg a0p
> Africa/Ceuta a0q
> Europe/Tirane a0r
> Europe/Vienna a0s
> Europe/Belgrade a0t
> Europe/Budapest a0u
> Europe/Prague a0v
> Europe/Rome a0w
> Africa/Lagos a0x
> Europe/Stockholm a0y
> Etc/GMT-1 a0z
> Asia/Beirut b0a
> Europe/Bucharest b0b
> Europe/Riga b0c
> Africa/Khartoum b0d
> Asia/Damascus b0e
> Africa/Windhoek b0f
> Europe/Tallinn b0g
> Asia/Hebron b0h
> Africa/Maputo b0i
> Europe/Athens b0j
> Europe/Kiev b0k
> Europe/Sofia b0l
> Africa/Johannesburg b0m
> Europe/Chisinau b0n
> Europe/Zaporozhye b0o
> Asia/Famagusta b0p
> Asia/Nicosia b0q
> Africa/Tripoli b0r
> Europe/Uzhgorod b0s
> Asia/Jerusalem b0t
> Africa/Cairo b0u
> Asia/Amman b0v
> Asia/Gaza b0w
> Europe/Helsinki b0x
> Europe/Kaliningrad b0y
> Etc/GMT-2 b0z
> Europe/Vilnius b1a
> Europe/Minsk c0a
> Europe/Kirov c0b
> Africa/Nairobi c0c
> Antarctica/Syowa c0d
> Asia/Baghdad c0e
> Asia/Riyadh c0f
> Asia/Qatar c0g
> Europe/Istanbul c0h
> Africa/Juba c0i
> Europe/Moscow c0j
> Europe/Volgograd c0k
> Etc/GMT-3 c0z
> Asia/Tehran c5a
> Asia/Tbilisi d0a
> Europe/Saratov d0b
> Asia/Dubai d0c
> Europe/Samara d0d
> Indian/Reunion d0e
> Europe/Astrakhan d0f
> Indian/Mahe d0g
> Asia/Baku d0h
> Europe/Ulyanovsk d0i
> Asia/Yerevan d0j
> Indian/Mauritius d0k
> Etc/GMT-4 d0z
> Asia/Kabul d5a
> Asia/Samarkand e0a
> Asia/Aqtobe e0b
> Asia/Oral e0c
> Asia/Dushanbe e0d
> Asia/Karachi e0e
> Asia/Aqtau e0f
> Indian/Kerguelen e0g
> Asia/Yekaterinburg e0h
> Asia/Ashgabat e0i
> Asia/Tashkent e0j
> Antarctica/Mawson e0k
> Asia/Atyrau e0l
> Indian/Maldives e0m
> Etc/GMT-5 e0z
> Asia/Colombo e5a
> Asia/Kathmandu e8a
> Asia/Omsk f0a
> Asia/Dhaka f0b
> Antarctica/Vostok f0c
> Asia/Bishkek f0d
> Asia/Almaty f0e
> Asia/Thimphu f0f
> Asia/Urumqi f0g
> Asia/Qyzylorda f0h
> Indian/Chagos f0i
> Etc/GMT-6 f0z
> Asia/Yangon f5a
> Indian/Cocos f5b
> Asia/Pontianak g0a
> Asia/Tomsk g0b
> Asia/Bangkok g0c
> Asia/Hovd g0d
> Asia/Novokuznetsk g0e
> Asia/Jakarta g0f
> Asia/Krasnoyarsk g0g
> Antarctica/Davis g0h
> Asia/Barnaul g0i
> Asia/Novosibirsk g0j
> Indian/Christmas g0k
> Asia/Ho_Chi_Minh g0l
> Etc/GMT-7 g0z
> Asia/Singapore h0a
> Asia/Taipei h0b
> Asia/Makassar h0c
> Asia/Brunei h0d
> Asia/Kuching h0e
> Asia/Ulaanbaatar h0f
> Asia/Kuala_Lumpur h0g
> Asia/Choibalsan h0h
> Asia/Shanghai h0i
> Asia/Macau h0j
> Asia/Irkutsk h0k
> Asia/Hong_Kong h0l
> Asia/Manila h0m
> Australia/Perth h0n
> Etc/GMT-8 h0z
> Asia/Pyongyang h5a
> Australia/Eucla h8a
> Pacific/Palau i0a
> Asia/Khandyga i0b
> Asia/Seoul i0c
> Asia/Yakutsk i0d
> Asia/Dili i0e
> Asia/Chita i0f
> Asia/Jayapura i0g
> Asia/Tokyo i0h
> Etc/GMT-9 i0z
> Australia/Adelaide i5a
> Australia/Darwin i5b
> Australia/Broken_Hill i5c
> Australia/Brisbane k0a
> Pacific/Port_Moresby k0b
> Australia/Hobart k0c
> Australia/Sydney k0d
> Australia/Currie k0e
> Asia/Vladivostok k0f
> Australia/Lindeman k0g
> Australia/Melbourne k0h
> Asia/Ust-Nera k0i
> Antarctica/DumontDUrville k0j
> Pacific/Guam k0k
> Pacific/Chuuk k0l
> Etc/GMT-10 k0z
> Australia/Lord_Howe k5a
> Pacific/Bougainville l0a
> Pacific/Norfolk l0b
> Antarctica/Macquarie l0c
> Pacific/Kosrae l0d
> Asia/Sakhalin l0e
> Pacific/Noumea l0f
> Pacific/Guadalcanal l0g
> Asia/Magadan l0h
> Pacific/Efate l0i
> Asia/Srednekolymsk l0j
> Antarctica/Casey l0k
> Pacific/Pohnpei l0l
> Etc/GMT-11 l0z
> Pacific/Tarawa m0a
> Pacific/Nauru m0b
> Pacific/Majuro m0c
> Pacific/Fiji m0d
> Pacific/Kwajalein m0e
> Pacific/Wallis m0f
> Asia/Anadyr m0g
> Pacific/Wake m0h
> Pacific/Funafuti m0i
> Asia/Kamchatka m0j
> Pacific/Auckland m0k
> Etc/GMT-12 m0z
> Pacific/Tongatapu m1a
> Pacific/Fakaofo m1b
> Pacific/Enderbury m1c
> Pacific/Apia m1d
> Etc/GMT-13 m1z
> Pacific/Kiritimati m2a
> Etc/GMT-14 m2z
> Pacific/Chatham m8a
> Atlantic/Cape_Verde n0a
> Atlantic/Azores n0b
> America/Scoresbysund n0c
> Etc/GMT+1 n0z
> America/Noronha o0a
> Atlantic/South_Georgia o0b
> Etc/GMT+2 o0z
> America/Argentina/La_Rioja p0a
> America/Argentina/Catamarca p0b
> America/Montevideo p0c
> America/Argentina/Buenos_Aires p0d
> Antarctica/Rothera p0e
> America/Argentina/San_Juan p0f
> America/Sao_Paulo p0g
> America/Godthab p0h
> America/Araguaina p0i
> America/Argentina/Salta p0j
> America/Argentina/Mendoza p0k
> America/Santarem p0l
> America/Cayenne p0m
> America/Argentina/Tucuman p0n
> America/Argentina/Jujuy p0o
> Atlantic/Stanley p0p
> America/Argentina/Cordoba p0q
> America/Miquelon p0r
> America/Argentina/San_Luis p0s
> America/Belem p0t
> America/Maceio p0u
> America/Argentina/Ushuaia p0v
> America/Recife p0w
> America/Paramaribo p0x
> America/Bahia p0y
> Etc/GMT+3 p0z
> America/Fortaleza p1a
> America/Argentina/Rio_Gallegos p1b
> America/St_Johns p5a
> America/Blanc-Sablon q0a
> America/Grand_Turk q0b
> America/Goose_Bay q0c
> America/Glace_Bay q0d
> America/Guyana q0e
> America/Porto_Velho q0f
> America/Boa_Vista q0g
> America/Thule q0h
> America/Caracas q0i
> Atlantic/Bermuda q0j
> America/Martinique q0k
> America/Port_of_Spain q0l
> America/Campo_Grande q0m
> America/Halifax q0n
> America/Barbados q0o
> America/Moncton q0p
> America/Manaus q0q
> America/Santiago q0r
> America/La_Paz q0s
> America/Curacao q0t
> America/Santo_Domingo q0u
> America/Puerto_Rico q0v
> America/Asuncion q0w
> America/Cuiaba q0x
> Etc/GMT+4 q0z
> America/Cancun r0a
> America/Jamaica r0b
> America/Kentucky/Louisville r0c
> America/Rio_Branco r0d
> America/Indiana/Marengo r0e
> America/Kentucky/Monticello r0f
> America/Lima r0g
> America/Indiana/Winamac r0h
> America/Indiana/Indianapolis r0i
> America/New_York r0j
> America/Indiana/Vevay r0k
> America/Nipigon r0l
> America/Detroit r0m
> America/Guayaquil r0n
> America/Thunder_Bay r0o
> America/Panama r0p
> America/Iqaluit r0q
> America/Indiana/Vincennes r0r
> America/Bogota r0s
> America/Eirunepe r0t
> America/Atikokan r0u
> America/Indiana/Petersburg r0v
> America/Port-au-Prince r0w
> America/Nassau r0x
> America/Toronto r0y
> Etc/GMT+5 r0z
> America/Havana r1a
> America/Pangnirtung r1b
> America/Chicago s0a
> America/Resolute s0b
> America/Bahia_Banderas s0c
> America/North_Dakota/Beulah s0d
> America/Swift_Current s0e
> America/North_Dakota/Center s0f
> America/Winnipeg s0g
> America/El_Salvador s0h
> America/Indiana/Tell_City s0i
> America/Mexico_City s0j
> America/Costa_Rica s0k
> America/Monterrey s0l
> America/Tegucigalpa s0m
> America/Managua s0n
> America/Merida s0o
> America/Menominee s0p
> America/Rankin_Inlet s0q
> America/Belize s0r
> Pacific/Galapagos s0s
> America/Regina s0t
> America/Indiana/Knox s0u
> America/North_Dakota/New_Salem s0v
> Pacific/Easter s0w
> America/Rainy_River s0x
> America/Guatemala s0y
> Etc/GMT+6 s0z
> America/Matamoros s1a
> America/Edmonton t0a
> America/Chihuahua t0b
> America/Inuvik t0c
> America/Cambridge_Bay t0d
> America/Mazatlan t0e
> America/Hermosillo t0f
> America/Fort_Nelson t0g
> America/Boise t0h
> America/Yellowknife t0i
> America/Creston t0j
> America/Denver t0k
> America/Dawson_Creek t0l
> America/Phoenix t0m
> America/Ojinaga t0n
> Etc/GMT+7 t0z
> America/Tijuana u0a
> America/Los_Angeles u0b
> Pacific/Pitcairn u0c
> America/Vancouver u0d
> America/Whitehorse u0e
> America/Dawson u0f
> Etc/GMT+8 u0z
> America/Metlakatla v0a
> America/Anchorage v0b
> America/Juneau v0c
> America/Sitka v0d
> Pacific/Gambier v0e
> America/Yakutat v0f
> America/Nome v0g
> Etc/GMT+9 v0z
> Pacific/Marquesas v5a
> Pacific/Rarotonga w0a
> Pacific/Tahiti w0b
> Pacific/Honolulu w0c
> America/Adak w0d
> Etc/GMT+10 w0z
> Pacific/Pago_Pago x0a
> Pacific/Niue x0b
> Etc/GMT+11 x0z
> Etc/GMT+12 y0z
> Europe/Dublin z0a
> Africa/Abidjan z0b
> Atlantic/Faroe z0c
> Africa/Bissau z0d
> Atlantic/Madeira z0e
> Africa/Accra z0f
> Africa/Casablanca z0g
> Atlantic/Reykjavik z0h
> America/Danmarkshavn z0i
> Atlantic/Canary z0j
> Europe/Lisbon z0k
> Africa/Monrovia z0l
> Africa/El_Aaiun z0m
> Europe/London z0n
> Etc/UTC z0z
> Etc/GMT z0z
More information about the tz
mailing list