proposed time zone package changes

Arthur David Olson olsona at lecserver.nci.nih.gov
Wed Jan 14 18:51:31 UTC 2009


Here are proposed time zone package changes, preceded by a list of files
to be changed and reasons for the changes. If these pass muster,
tzcode2009a.tar.gz and tzdata2009a.tar.tz will appear a week from today
(on an unusual Wednesday since both Monday and Tuesday are leave days for
U. S. federal employees in the Washington, D. C. area).

				--ado

*	asia
		change Katmandu to Kathmandu

*	backward
		provide Katmandu link

*	europe
		correct Swiss rules; add Europe/Geneva

*	northamerica
		clearer definition of Cuban transitions (no binary change)
		Resolute changes abbreviation (but not time) twice a year

*	strftime.c
		c format warning fix

*	tzselect.ksh
		--help and --version handling

*	zdump.c
		--help and --version handling

*	zic.c
		--help and --version handling
		fix infinite loop caused by overflow/optimization interaction

*	zone.tab
		Change Katmandu to Kathmandu
		Change Resolute from Eastern Time to Eastern Standard Time
		Add Europe/Geneva
		
diff -r -c old/asia new/asia
*** old/asia	Wed Oct  8 08:35:57 2008
--- new/asia	Wed Jan 14 11:15:49 2009
***************
*** 1,4 ****
! # @(#)asia	8.24
  # <pre>
  
  # This data is by no means authoritative; if you think you know better,
--- 1,4 ----
! # @(#)asia	8.25
  # <pre>
  
  # This data is by no means authoritative; if you think you know better,
***************
*** 1474,1480 ****
  
  # Nepal
  # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
! Zone	Asia/Katmandu	5:41:16 -	LMT	1920
  			5:30	-	IST	1986
  			5:45	-	NPT	# Nepal Time
  
--- 1474,1480 ----
  
  # Nepal
  # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
! Zone	Asia/Kathmandu	5:41:16 -	LMT	1920
  			5:30	-	IST	1986
  			5:45	-	NPT	# Nepal Time
  
diff -r -c old/backward new/backward
*** old/backward	Tue Sep  9 22:33:26 2008
--- new/backward	Wed Jan 14 11:15:49 2009
***************
*** 1,4 ****
! # @(#)backward	8.6
  
  # This file provides links between current names for time zones
  # and their old names.  Many names changed in late 1993.
--- 1,4 ----
! # @(#)backward	8.7
  
  # This file provides links between current names for time zones
  # and their old names.  Many names changed in late 1993.
***************
*** 24,29 ****
--- 24,30 ----
  Link	Asia/Ashgabat		Asia/Ashkhabad
  Link	Asia/Chongqing		Asia/Chungking
  Link	Asia/Dhaka		Asia/Dacca
+ Link	Asia/Kathmandu		Asia/Katmandu
  Link	Asia/Kolkata		Asia/Calcutta
  Link	Asia/Macau		Asia/Macao
  Link	Asia/Jerusalem		Asia/Tel_Aviv
diff -r -c old/europe new/europe
*** old/europe	Tue Sep  9 22:33:25 2008
--- new/europe	Wed Jan 14 13:37:27 2009
***************
*** 1,4 ****
! # @(#)europe	8.18
  # <pre>
  
  # This data is by no means authoritative; if you think you know better,
--- 1,4 ----
! # @(#)europe	8.19
  # <pre>
  
  # This data is by no means authoritative; if you think you know better,
***************
*** 2313,2328 ****
  # mean time in preference to apparent time -- Geneva from 1780 ....
  # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
  # From Whitman (who writes ``Midnight?''):
! Rule	Swiss	1940	only	-	Nov	 2	0:00	1:00	S
! Rule	Swiss	1940	only	-	Dec	31	0:00	0	-
  # From Shanks & Pottenger:
! Rule	Swiss	1941	1942	-	May	Sun>=1	2:00	1:00	S
! Rule	Swiss	1941	1942	-	Oct	Sun>=1	0:00	0	-
  # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
  Zone	Europe/Zurich	0:34:08 -	LMT	1848 Sep 12
  			0:29:44	-	BMT	1894 Jun # Bern Mean Time
  			1:00	Swiss	CE%sT	1981
  			1:00	EU	CE%sT
  
  # Turkey
  
--- 2313,2384 ----
  # mean time in preference to apparent time -- Geneva from 1780 ....
  # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
  # From Whitman (who writes ``Midnight?''):
! # Rule	Swiss	1940	only	-	Nov	 2	0:00	1:00	S
! # Rule	Swiss	1940	only	-	Dec	31	0:00	0	-
  # From Shanks & Pottenger:
! # Rule	Swiss	1941	1942	-	May	Sun>=1	2:00	1:00	S
! # Rule	Swiss	1941	1942	-	Oct	Sun>=1	0:00	0	-
! 
! # From Alois Treindl (2008-12-17):
! # I have researched the DST usage in Switzerland during the 1940ies.
! #
! # As I wrote in an earlier message, I suspected the current tzdata values
! # to be wrong. This is now verified.
! #
! # I have found copies of the original ruling by the Swiss Federal
! # government, in 'Eidgen[o]ssische Gesetzessammlung 1941 and 1942' (Swiss
! # federal law collection)...
! #
! # DST began on Monday 5 May 1941, 1:00 am by shifting the clocks to 2:00 am
! # DST ended on Monday 6 Oct 1941, 2:00 am by shifting the clocks to 1:00 am.
! #
! # DST began on Monday, 4 May 1942 at 01:00 am
! # DST ended on Monday, 5 Oct 1942 at 02:00 am
! #
! # There was no DST in 1940, I have checked the law collection carefully.
! # It is also indicated by the fact that the 1942 entry in the law
! # collection points back to 1941 as a reference, but no reference to any
! # other years are made.
! #
! # Newspaper articles I have read in the archives on 6 May 1941 reported
! # about the introduction of DST (Sommerzeit in German) during the previous
! # night as an absolute novelty, because this was the first time that such
! # a thing had happened in Switzerland.
! #
! # I have also checked 1916, because one book source (Gabriel, Traite de
! # l'heure dans le monde) claims that Switzerland had DST in 1916. This is
! # false, no official document could be found. Probably Gabriel got misled
! # by references to Germany, which introduced DST in 1916 for the first time.
! #
! # The tzdata rules for Switzerland must be changed to:
! # Rule  Swiss   1941    1942    -       May     Mon>=1  1:00    1:00    S
! # Rule  Swiss   1941    1942    -       Oct     Mon>=1  2:00    0       -
! #
! # The 1940 rules must be deleted.
! #
! # One further detail for Switzerland, which is probably out of scope for
! # most users of tzdata:
! # The zone file
! # Zone    Europe/Zurich   0:34:08 -       LMT     1848 Sep 12
! #                          0:29:44 -       BMT     1894 Jun #Bern Mean Time
! #                          1:00    Swiss   CE%sT   1981
! #                          1:00    EU      CE%sT
! # describes all of Switzerland correctly, with the exception of
! # the Cantone Geneve (Geneva, Genf). Between 1848 and 1894 Geneve did not
! # follow Bern Mean Time but kept its own local mean time.
! # To represent this, an extra zone would be needed.
! 
! # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
! Rule	Swiss	1941	1942	-	May	Mon>=1	1:00	1:00	S
! Rule	Swiss	1941	1942	-	Oct	Mon>=1	2:00	0	-
  # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
  Zone	Europe/Zurich	0:34:08 -	LMT	1848 Sep 12
  			0:29:44	-	BMT	1894 Jun # Bern Mean Time
  			1:00	Swiss	CE%sT	1981
  			1:00	EU	CE%sT
+ Zone	Europe/Geneva	0:24:56	-	LMT	1894 Jun # avoid GMT
+ 			1:00	Swiss	CE%sT	1981
+ 			1:00	EU	CE%sT
  
  # Turkey
  
diff -r -c old/northamerica new/northamerica
*** old/northamerica	Tue Sep  9 16:05:43 2008
--- new/northamerica	Wed Jan 14 12:32:15 2009
***************
*** 1,4 ****
! # @(#)northamerica	8.24
  # <pre>
  
  # also includes Central America and the Caribbean
--- 1,4 ----
! # @(#)northamerica	8.26
  # <pre>
  
  # also includes Central America and the Caribbean
***************
*** 1742,1751 ****
  # The individual that answered the phone confirmed that the clocks did not
  # move at the end of daylight saving on October 29/2006.  He also told me that
  # the clocks did not move this past weekend (March 11/2007)....
- #
- # America/Resolute should use the "Canada" Rule up to October 29/2006.
- # After that it should be fixed on Eastern Standard Time until further notice.
  
  # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
  Rule	NT_YK	1918	only	-	Apr	14	2:00	1:00	D
  Rule	NT_YK	1918	only	-	Oct	27	2:00	0	S
--- 1742,1755 ----
  # The individual that answered the phone confirmed that the clocks did not
  # move at the end of daylight saving on October 29/2006.  He also told me that
  # the clocks did not move this past weekend (March 11/2007)....
  
+ # From Chris Walton (2008-11-13):
+ # ...the residents of Resolute believe that they are changing "time zones"
+ # twice a year.  In winter months, local time is qualified with "Eastern
+ # Time" which is really "Eastern Standard Time (UTC-5)".  In summer
+ # months, local time is qualified with "Central Time" which is really
+ # "Central Daylight Time (UTC-5)"...
+ 
  # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
  Rule	NT_YK	1918	only	-	Apr	14	2:00	1:00	D
  Rule	NT_YK	1918	only	-	Oct	27	2:00	0	S
***************
*** 1772,1782 ****
  			-6:00	Canada	C%sT	2000 Oct 29 2:00
  			-5:00	Canada	E%sT
  # aka Qausuittuq
  Zone America/Resolute	0	-	zzz	1947 Aug 31 # Resolute founded
  			-6:00	NT_YK	C%sT	2000 Oct 29 2:00
  			-5:00	-	EST	2001 Apr  1 3:00
  			-6:00	Canada	C%sT	2006 Oct 29 2:00
! 			-5:00	-	EST
  # aka Kangiqiniq
  Zone America/Rankin_Inlet 0	-	zzz	1957 # Rankin Inlet founded
  			-6:00	NT_YK	C%sT	2000 Oct 29 2:00
--- 1776,1789 ----
  			-6:00	Canada	C%sT	2000 Oct 29 2:00
  			-5:00	Canada	E%sT
  # aka Qausuittuq
+ # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
+ Rule	Resolute 2006	max	-	Nov	Sun>=1	2:00	0	ES
+ Rule	Resolute 2007	max	-	Mar	Sun>=8	2:00	0	CD
  Zone America/Resolute	0	-	zzz	1947 Aug 31 # Resolute founded
  			-6:00	NT_YK	C%sT	2000 Oct 29 2:00
  			-5:00	-	EST	2001 Apr  1 3:00
  			-6:00	Canada	C%sT	2006 Oct 29 2:00
! 			-5:00	Resolute	%sT
  # aka Kangiqiniq
  Zone America/Rankin_Inlet 0	-	zzz	1957 # Rankin Inlet founded
  			-6:00	NT_YK	C%sT	2000 Oct 29 2:00
***************
*** 2280,2286 ****
  Rule	Cuba	1997	only	-	Oct	12	0:00s	0	S
  Rule	Cuba	1998	1999	-	Mar	lastSun	0:00s	1:00	D
  Rule	Cuba	1998	2003	-	Oct	lastSun	0:00s	0	S
! Rule	Cuba	2000	2006	-	Apr	Sun>=1	0:00s	1:00	D
  Rule	Cuba	2006	max	-	Oct	lastSun	0:00s	0	S
  Rule	Cuba	2007	only	-	Mar	Sun>=8	0:00s	1:00	D
  Rule	Cuba	2008	max	-	Mar	Sun>=15	0:00s	1:00	D
--- 2287,2293 ----
  Rule	Cuba	1997	only	-	Oct	12	0:00s	0	S
  Rule	Cuba	1998	1999	-	Mar	lastSun	0:00s	1:00	D
  Rule	Cuba	1998	2003	-	Oct	lastSun	0:00s	0	S
! Rule	Cuba	2000	2004	-	Apr	Sun>=1	0:00s	1:00	D
  Rule	Cuba	2006	max	-	Oct	lastSun	0:00s	0	S
  Rule	Cuba	2007	only	-	Mar	Sun>=8	0:00s	1:00	D
  Rule	Cuba	2008	max	-	Mar	Sun>=15	0:00s	1:00	D
diff -r -c old/strftime.c new/strftime.c
*** old/strftime.c	Mon Sep 15 09:24:42 2008
--- new/strftime.c	Wed Jan 14 12:33:56 2009
***************
*** 1,6 ****
  #ifndef lint
  #ifndef NOID
! static char	elsieid[] = "@(#)strftime.c	8.2";
  /*
  ** Based on the UCB version with the ID appearing below.
  ** This is ANSIish only when "multibyte character == plain character".
--- 1,6 ----
  #ifndef lint
  #ifndef NOID
! static char	elsieid[] = "@(#)strftime.c	8.3";
  /*
  ** Based on the UCB version with the ID appearing below.
  ** This is ANSIish only when "multibyte character == plain character".
***************
*** 216,222 ****
  				{
  				int warn2 = IN_SOME;
  
! 				pt = _fmt(Locale->c_fmt, t, pt, ptlim, warnp);
  				if (warn2 == IN_ALL)
  					warn2 = IN_THIS;
  				if (warn2 > *warnp)
--- 216,222 ----
  				{
  				int warn2 = IN_SOME;
  
! 				pt = _fmt(Locale->c_fmt, t, pt, ptlim, &warn2);
  				if (warn2 == IN_ALL)
  					warn2 = IN_THIS;
  				if (warn2 > *warnp)
diff -r -c old/tzselect.ksh new/tzselect.ksh
*** old/tzselect.ksh	Tue Sep  9 22:33:17 2008
--- new/tzselect.ksh	Wed Jan 14 10:56:24 2009
***************
*** 1,6 ****
  #! /bin/ksh
  
! # '@(#)tzselect.ksh	8.1'
  
  # Ask the user about the time zone, and output the resulting TZ value to stdout.
  # Interact with the user via stderr and stdin.
--- 1,6 ----
  #! /bin/ksh
  
! VERSION='@(#)tzselect.ksh	8.2'
  
  # Ask the user about the time zone, and output the resulting TZ value to stdout.
  # Interact with the user via stderr and stdin.
***************
*** 45,50 ****
--- 45,65 ----
  	exit 1
  }
  
+ if [ "$1" = "--help" ]; then
+     cat <<EOF
+ Usage: tzselect
+ Select a time zone interactively.
+ 
+ Report bugs to tz at elsie.nci.nih.gov.
+ EOF
+     exit 0
+ elif [ "$1" = "--version" ]; then
+     cat <<EOF
+ tzselect $VERSION
+ EOF
+     exit 0
+ fi
+ 
  # Make sure the tables are readable.
  TZ_COUNTRY_TABLE=$TZDIR/iso3166.tab
  TZ_ZONE_TABLE=$TZDIR/zone.tab
diff -r -c old/zdump.c new/zdump.c
*** old/zdump.c	Tue Sep  9 22:33:24 2008
--- new/zdump.c	Wed Jan 14 11:01:56 2009
***************
*** 1,4 ****
! static char	elsieid[] = "@(#)zdump.c	8.6";
  
  /*
  ** This code has been made independent of the rest of the time
--- 1,4 ----
! static char	elsieid[] = "@(#)zdump.c	8.8";
  
  /*
  ** This code has been made independent of the rest of the time
***************
*** 230,235 ****
--- 230,246 ----
  	warned = TRUE;
  }
  
+ static void
+ usage(const char *progname, FILE *stream, int status)
+ {
+ 	(void) fprintf(stream,
+ _("%s: usage is %s [ --version ] [ --help ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n\
+ \n\
+ Report bugs to tz at elsie.nci.nih.gov.\n"),
+ 		       progname, progname);
+ 	exit(status);
+ }
+ 
  int
  main(argc, argv)
  int	argc;
***************
*** 266,271 ****
--- 277,284 ----
  		if (strcmp(argv[i], "--version") == 0) {
  			(void) printf("%s\n", elsieid);
  			exit(EXIT_SUCCESS);
+ 		} else if (strcmp(argv[i], "--help") == 0) {
+ 			usage(progname, stdout, EXIT_SUCCESS);
  		}
  	vflag = 0;
  	cutarg = NULL;
***************
*** 275,284 ****
  		else	cutarg = optarg;
  	if ((c != EOF && c != -1) ||
  		(optind == argc - 1 && strcmp(argv[optind], "=") == 0)) {
! 			(void) fprintf(stderr,
! _("%s: usage is %s [ --version ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n"),
! 				progname, progname);
! 			exit(EXIT_FAILURE);
  	}
  	if (vflag) {
  		if (cutarg != NULL) {
--- 288,294 ----
  		else	cutarg = optarg;
  	if ((c != EOF && c != -1) ||
  		(optind == argc - 1 && strcmp(argv[optind], "=") == 0)) {
! 			usage(progname, stderr, EXIT_FAILURE);
  	}
  	if (vflag) {
  		if (cutarg != NULL) {
***************
*** 349,361 ****
  			(void) strncpy(buf, abbr(&tm), (sizeof buf) - 1);
  		}
  		for ( ; ; ) {
! 			if (t >= cuthitime)
  				break;
  			newt = t + SECSPERHOUR * 12;
- 			if (newt >= cuthitime)
- 				break;
- 			if (newt <= t)
- 				break;
  			newtmp = localtime(&newt);
  			if (newtmp != NULL)
  				newtm = *newtmp;
--- 359,367 ----
  			(void) strncpy(buf, abbr(&tm), (sizeof buf) - 1);
  		}
  		for ( ; ; ) {
! 			if (t >= cuthitime || t >= cuthitime - SECSPERHOUR * 12)
  				break;
  			newt = t + SECSPERHOUR * 12;
  			newtmp = localtime(&newt);
  			if (newtmp != NULL)
  				newtm = *newtmp;
diff -r -c old/zic.c new/zic.c
*** old/zic.c	Tue Sep  9 22:33:18 2008
--- new/zic.c	Wed Jan 14 10:59:48 2009
***************
*** 3,9 ****
  ** 2006-07-17 by Arthur David Olson.
  */
  
! static char	elsieid[] = "@(#)zic.c	8.17";
  
  #include "private.h"
  #include "locale.h"
--- 3,9 ----
  ** 2006-07-17 by Arthur David Olson.
  */
  
! static char	elsieid[] = "@(#)zic.c	8.18";
  
  #include "private.h"
  #include "locale.h"
***************
*** 156,162 ****
  			const struct zone * zp, int ntzones);
  static void	setboundaries(void);
  static zic_t	tadd(zic_t t1, long t2);
! static void	usage(void);
  static void	writezone(const char * name, const char * string);
  static int	yearistype(int year, const char * type);
  
--- 156,162 ----
  			const struct zone * zp, int ntzones);
  static void	setboundaries(void);
  static zic_t	tadd(zic_t t1, long t2);
! static void	usage(FILE *stream, int status);
  static void	writezone(const char * name, const char * string);
  static int	yearistype(int year, const char * type);
  
***************
*** 454,466 ****
  }
  
  static void
! usage(void)
  {
! 	(void) fprintf(stderr, _("%s: usage is %s \
! [ --version ] [ -v ] [ -l localtime ] [ -p posixrules ] \\\n\
! \t[ -d directory ] [ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n"),
! 		progname, progname);
! 	exit(EXIT_FAILURE);
  }
  
  static const char *	psxrules;
--- 454,468 ----
  }
  
  static void
! usage(FILE *stream, int status)
  {
! 	(void) fprintf(stream, _("%s: usage is %s \
! [ --version ] [ --help ] [ -v ] [ -l localtime ] [ -p posixrules ] \\\n\
! \t[ -d directory ] [ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n\
! \n\
! Report bugs to tz at elsie.nci.nih.gov.\n"),
! 		       progname, progname);
! 	exit(status);
  }
  
  static const char *	psxrules;
***************
*** 498,508 ****
  		if (strcmp(argv[i], "--version") == 0) {
  			(void) printf("%s\n", elsieid);
  			exit(EXIT_SUCCESS);
  		}
  	while ((c = getopt(argc, argv, "d:l:p:L:vsy:")) != EOF && c != -1)
  		switch (c) {
  			default:
! 				usage();
  			case 'd':
  				if (directory == NULL)
  					directory = optarg;
--- 500,512 ----
  		if (strcmp(argv[i], "--version") == 0) {
  			(void) printf("%s\n", elsieid);
  			exit(EXIT_SUCCESS);
+ 		} else if (strcmp(argv[i], "--help") == 0) {
+ 			usage(stdout, EXIT_SUCCESS);
  		}
  	while ((c = getopt(argc, argv, "d:l:p:L:vsy:")) != EOF && c != -1)
  		switch (c) {
  			default:
! 				usage(stderr, EXIT_FAILURE);
  			case 'd':
  				if (directory == NULL)
  					directory = optarg;
***************
*** 561,567 ****
  				break;
  		}
  	if (optind == argc - 1 && strcmp(argv[optind], "=") == 0)
! 		usage();	/* usage message by request */
  	if (directory == NULL)
  		directory = TZDIR;
  	if (yitcommand == NULL)
--- 565,571 ----
  				break;
  		}
  	if (optind == argc - 1 && strcmp(argv[optind], "=") == 0)
! 		usage(stderr, EXIT_FAILURE);	/* usage message by request */
  	if (directory == NULL)
  		directory = TZDIR;
  	if (yitcommand == NULL)
diff -r -c old/zone.tab new/zone.tab
*** old/zone.tab	Tue Oct 21 12:10:25 2008
--- new/zone.tab	Wed Jan 14 13:40:29 2009
***************
*** 1,4 ****
! # @(#)zone.tab	8.21
  #
  # TZ zone descriptions
  #
--- 1,4 ----
! # @(#)zone.tab	8.25
  #
  # TZ zone descriptions
  #
***************
*** 116,122 ****
  CA	+4823-08915	America/Thunder_Bay	Eastern Time - Thunder Bay, Ontario
  CA	+6344-06828	America/Iqaluit	Eastern Time - east Nunavut - most locations
  CA	+6608-06544	America/Pangnirtung	Eastern Time - Pangnirtung, Nunavut
! CA	+744144-0944945	America/Resolute	Eastern Time - Resolute, Nunavut
  CA	+484531-0913718	America/Atikokan	Eastern Standard Time - Atikokan, Ontario and Southampton I, Nunavut
  CA	+624900-0920459	America/Rankin_Inlet	Central Time - central Nunavut
  CA	+4953-09709	America/Winnipeg	Central Time - Manitoba & west Ontario
--- 116,122 ----
  CA	+4823-08915	America/Thunder_Bay	Eastern Time - Thunder Bay, Ontario
  CA	+6344-06828	America/Iqaluit	Eastern Time - east Nunavut - most locations
  CA	+6608-06544	America/Pangnirtung	Eastern Time - Pangnirtung, Nunavut
! CA	+744144-0944945	America/Resolute	Eastern Standard Time - Resolute, Nunavut
  CA	+484531-0913718	America/Atikokan	Eastern Standard Time - Atikokan, Ontario and Southampton I, Nunavut
  CA	+624900-0920459	America/Rankin_Inlet	Central Time - central Nunavut
  CA	+4953-09709	America/Winnipeg	Central Time - Manitoba & west Ontario
***************
*** 136,142 ****
  CD	-1140+02728	Africa/Lubumbashi	east Dem. Rep. of Congo
  CF	+0422+01835	Africa/Bangui
  CG	-0416+01517	Africa/Brazzaville
! CH	+4723+00832	Europe/Zurich
  CI	+0519-00402	Africa/Abidjan
  CK	-2114-15946	Pacific/Rarotonga
  CL	-3327-07040	America/Santiago	most locations
--- 136,143 ----
  CD	-1140+02728	Africa/Lubumbashi	east Dem. Rep. of Congo
  CF	+0422+01835	Africa/Bangui
  CG	-0416+01517	Africa/Brazzaville
! CH	+4723+00832	Europe/Zurich	most locations
! CH	+4614+00604	Europe/Geneva	Geneva only
  CI	+0519-00402	Africa/Abidjan
  CK	-2114-15946	Pacific/Rarotonga
  CL	-3327-07040	America/Santiago	most locations
***************
*** 292,298 ****
  NI	+1209-08617	America/Managua
  NL	+5222+00454	Europe/Amsterdam
  NO	+5955+01045	Europe/Oslo
! NP	+2743+08519	Asia/Katmandu
  NR	-0031+16655	Pacific/Nauru
  NU	-1901-16955	Pacific/Niue
  NZ	-3652+17446	Pacific/Auckland	most locations
--- 293,299 ----
  NI	+1209-08617	America/Managua
  NL	+5222+00454	Europe/Amsterdam
  NO	+5955+01045	Europe/Oslo
! NP	+2743+08519	Asia/Kathmandu
  NR	-0031+16655	Pacific/Nauru
  NU	-1901-16955	Pacific/Niue
  NZ	-3652+17446	Pacific/Auckland	most locations



More information about the tz mailing list