1999-11-09  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-load.c (_dl_dst_count): Allow $ORIGIN to point to
	directory with the reference since this is as secure as using the
	object with the dependency.
	(_dl_dst_substitute): Likewise.

	* elf/dl-load.c (_dl_dst_count): Change strings in first two
	strncmp calls to allow reuse.
	(_dl_dst_substitute): Likewise.

1999-11-01  Arnold D. Robbins  <arnold@skeeve.com>

	* posix/regex.c (init_syntax_once): move below definition of
	ISALNUM etc., then use ISALNUM to init the table, so that
	the word ops will work if i18n'ed.
	(SYNTAX): And subscript with 0xFF for 8bit character sets.

1999-11-09  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/getlogin_r.c (getlogin_r): Sync with getlogin
	implementation for ttyname_r call; fix inverted condition; return
	ut_user.  Closes PR libc/1438.

1999-11-09  Ulrich Drepper  <drepper@cygnus.com>

	* timezone/checktab.awk: Update from tzcode1999h.
	* timezone/africa: Update from tzdata1999i.
	* timezone/asia: Likewise.
	* timezone/australasia: Likewise.
	* timezone/backward: Likewise.
	* timezone/europe: Likewise.
	* timezone/northamerica: Likewise.
	* timezone/southamerica: Likewise.
	* timezone/iso3166.tab: Likewise.
	* timezone/zone.tab: Likewise.

	* sysdeps/unix/sysv/linux/bits/resource.h: Define values also as
	macros.  Patch by brg@csua.berkeley.edu [PR libc/1439].

1999-11-09  Andreas Jaeger  <aj@suse.de>

	* posix/Makefile (tests): Added tst-getlogin.

	* posix/tst-getlogin.c: New file, contains simple tests for
	getlogin and getlogin_r.

1999-11-09  Andreas Schwab  <schwab@suse.de>

	* misc/syslog.c: For LOG_PERROR only append a newline if
	necessary.
This commit is contained in:
Ulrich Drepper 1999-11-10 02:42:49 +00:00
parent f2b9733fd6
commit 2864e76705
19 changed files with 453 additions and 329 deletions

View file

@ -1,3 +1,55 @@
1999-11-09 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-load.c (_dl_dst_count): Allow $ORIGIN to point to
directory with the reference since this is as secure as using the
object with the dependency.
(_dl_dst_substitute): Likewise.
* elf/dl-load.c (_dl_dst_count): Change strings in first two
strncmp calls to allow reuse.
(_dl_dst_substitute): Likewise.
1999-11-01 Arnold D. Robbins <arnold@skeeve.com>
* posix/regex.c (init_syntax_once): move below definition of
ISALNUM etc., then use ISALNUM to init the table, so that
the word ops will work if i18n'ed.
(SYNTAX): And subscript with 0xFF for 8bit character sets.
1999-11-09 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/getlogin_r.c (getlogin_r): Sync with getlogin
implementation for ttyname_r call; fix inverted condition; return
ut_user. Closes PR libc/1438.
1999-11-09 Ulrich Drepper <drepper@cygnus.com>
* timezone/checktab.awk: Update from tzcode1999h.
* timezone/africa: Update from tzdata1999i.
* timezone/asia: Likewise.
* timezone/australasia: Likewise.
* timezone/backward: Likewise.
* timezone/europe: Likewise.
* timezone/northamerica: Likewise.
* timezone/southamerica: Likewise.
* timezone/iso3166.tab: Likewise.
* timezone/zone.tab: Likewise.
* sysdeps/unix/sysv/linux/bits/resource.h: Define values also as
macros. Patch by brg@csua.berkeley.edu [PR libc/1439].
1999-11-09 Andreas Jaeger <aj@suse.de>
* posix/Makefile (tests): Added tst-getlogin.
* posix/tst-getlogin.c: New file, contains simple tests for
getlogin and getlogin_r.
1999-11-09 Andreas Schwab <schwab@suse.de>
* misc/syslog.c: For LOG_PERROR only append a newline if
necessary.
1999-11-08 Ulrich Drepper <drepper@cygnus.com>
* elf/elf.h: Add STT_REGISTER, STT_HP_OPAQUE, and STT_ST_STUB

View file

@ -149,21 +149,31 @@ local_strdup (const char *s)
size_t
_dl_dst_count (const char *name, int is_path)
{
const char *const start = name;
size_t cnt = 0;
do
{
size_t len = 1;
/* $ORIGIN is not expanded for SUID/GUID programs. */
if ((((!__libc_enable_secure
&& strncmp (&name[1], "ORIGIN", 6) == 0 && (len = 7) != 0)
|| (strncmp (&name[1], "PLATFORM", 8) == 0 && (len = 9) != 0))
/* $ORIGIN is not expanded for SUID/GUID programs.
Note that it is no bug that the strings in the first two `strncmp'
calls are longer than the sequence which is actually tested. */
if ((((strncmp (&name[1], "ORIGIN}", 6) == 0
&& (!__libc_enable_secure
|| ((name[7] == '\0' || (is_path && name[7] == ':'))
&& (name == start || (is_path && name[-1] == ':'))))
&& (len = 7) != 0)
|| (strncmp (&name[1], "PLATFORM}", 8) == 0 && (len = 9) != 0))
&& (name[len] == '\0' || name[len] == '/'
|| (is_path && name[len] == ':')))
|| (name[1] == '{'
&& ((!__libc_enable_secure
&& strncmp (&name[2], "ORIGIN}", 7) == 0 && (len = 9) != 0)
&& ((strncmp (&name[2], "ORIGIN}", 7) == 0
&& (!__libc_enable_secure
|| ((name[9] == '\0' || (is_path && name[9] == ':'))
&& (name == start || (is_path && name[-1] == ':'))))
&& (len = 9) != 0)
|| (strncmp (&name[2], "PLATFORM}", 9) == 0
&& (len = 11) != 0))))
++cnt;
@ -180,6 +190,7 @@ char *
_dl_dst_substitute (struct link_map *l, const char *name, char *result,
int is_path)
{
const char *const start = name;
char *last_elem, *wp;
/* Now fill the result path. While copying over the string we keep
@ -195,8 +206,10 @@ _dl_dst_substitute (struct link_map *l, const char *name, char *result,
const char *repl;
size_t len;
if ((((strncmp (&name[1], "ORIGIN", 6) == 0 && (len = 7) != 0)
|| (strncmp (&name[1], "PLATFORM", 8) == 0 && (len = 9) != 0))
/* Note that it is no bug that the strings in the first two `strncmp'
calls are longer than the sequence which is actually tested. */
if ((((strncmp (&name[1], "ORIGIN}", 6) == 0 && (len = 7) != 0)
|| (strncmp (&name[1], "PLATFORM}", 8) == 0 && (len = 9) != 0))
&& (name[len] == '\0' || name[len] == '/'
|| (is_path && name[len] == ':')))
|| (name[1] == '{'
@ -205,7 +218,12 @@ _dl_dst_substitute (struct link_map *l, const char *name, char *result,
&& (len = 11) != 0))))
{
repl = ((len == 7 || name[2] == 'O')
? (__libc_enable_secure ? NULL : l->l_origin)
? (__libc_enable_secure
&& ((name[len] != '\0'
&& (!is_path || name[len] != ':'))
|| (name != start
&& (!is_path || name[-1] != ':')))
? NULL : l->l_origin)
: _dl_platform);
if (repl != NULL && repl != (const char *) -1)
@ -259,7 +277,7 @@ expand_dynamic_string_token (struct link_map *l, const char *s)
size_t total;
char *result;
/* Determine the nubmer of DST elements. */
/* Determine the number of DST elements. */
cnt = DL_DST_COUNT (s, 1);
/* If we do not have to replace anything simply copy the string. */

View file

@ -475,9 +475,11 @@ elements.
To remove a specific element matching @var{key} from the tree
@code{tdelete} can be used. It locates the matching element using the
same method as @code{tfind}. The corresponding element is then removed
and the data if this tree node is returned by the function. If there is
no matching entry in the tree nothing can be deleted and the function
returns @code{NULL}.
and a pointer to the parent of the deleted node is returned by the
function. If there is no matching entry in the tree nothing can be
deleted and the function returns @code{NULL}. If the root of the tree
is deleted @code{tdelete} returns some unspecified value not equal to
@code{NULL}.
@end deftypefun
@comment search.h

View file

@ -177,10 +177,14 @@ vsyslog(pri, fmt, ap)
v->iov_base = buf + msgoff;
v->iov_len = bufsize - msgoff;
++v;
v->iov_base = (char *) "\n";
v->iov_len = 1;
(void)__writev(STDERR_FILENO, iov, 2);
/* Append a newline if necessary. */
if (buf[bufsize - 1] != '\n')
{
++v;
v->iov_base = (char *) "\n";
v->iov_len = 1;
}
(void)__writev(STDERR_FILENO, iov, v - iov + 1);
}
/* Prepare for multiple users. We have to take care: open and

View file

@ -57,7 +57,7 @@ include ../Makeconfig
aux := init-posix environ
tests := tstgetopt testfnm runtests runptests \
tst-preadwrite test-vfork regexbug1
tst-preadwrite test-vfork regexbug1 tst-getlogin
ifeq (yes,$(build-shared))
test-srcs := globtest
tests += wordexp-test

View file

@ -164,46 +164,6 @@ char *realloc ();
# define SWITCH_ENUM_CAST(x) (x)
# endif
/* How many characters in the character set. */
# define CHAR_SET_SIZE 256
# ifdef SYNTAX_TABLE
extern char *re_syntax_table;
# else /* not SYNTAX_TABLE */
static char re_syntax_table[CHAR_SET_SIZE];
static void
init_syntax_once ()
{
register int c;
static int done;
if (done)
return;
bzero (re_syntax_table, sizeof re_syntax_table);
for (c = 'a'; c <= 'z'; c++)
re_syntax_table[c] = Sword;
for (c = 'A'; c <= 'Z'; c++)
re_syntax_table[c] = Sword;
for (c = '0'; c <= '9'; c++)
re_syntax_table[c] = Sword;
re_syntax_table['_'] = Sword;
done = 1;
}
# endif /* not SYNTAX_TABLE */
# define SYNTAX(c) re_syntax_table[c]
#endif /* not emacs */
/* Get the interface, including the syntax bits. */
@ -276,6 +236,43 @@ init_syntax_once ()
# define SIGN_EXTEND_CHAR(c) ((((unsigned char) (c)) ^ 128) - 128)
#endif
#ifndef emacs
/* How many characters in the character set. */
# define CHAR_SET_SIZE 256
# ifdef SYNTAX_TABLE
extern char *re_syntax_table;
# else /* not SYNTAX_TABLE */
static char re_syntax_table[CHAR_SET_SIZE];
static void
init_syntax_once ()
{
register int c;
static int done = 0;
if (done)
return;
bzero (re_syntax_table, sizeof re_syntax_table);
for (c = 0; c < CHAR_SET_SIZE; ++c)
if (ISALNUM (c))
re_syntax_table[c] = Sword;
re_syntax_table['_'] = Sword;
done = 1;
}
# endif /* not SYNTAX_TABLE */
# define SYNTAX(c) re_syntax_table[((c) & 0xFF)]
#endif /* emacs */
/* Should we use malloc or alloca? If REGEX_MALLOC is not defined, we
use `alloca' instead of `malloc'. This is because using malloc in
re_search* or re_match* could cause memory leaks when C-g is used in

58
posix/tst-getlogin.c Normal file
View file

@ -0,0 +1,58 @@
/* Copyright (C) 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <unistd.h>
#include <stdio.h>
#include <string.h>
int
main (void)
{
char *login;
int errors = 0;
login = getlogin ();
if (login == NULL)
puts ("getlogin returned NULL, no further tests");
else
{
char name[1024];
int ret;
printf ("getlogin returned: `%s'\n", login);
ret = getlogin_r (name, sizeof (name));
if (ret == 0)
{
printf ("getlogin_r returned: `%s'\n", name);
if (strcmp (name, login) != 0)
{
puts ("Error: getlogin and getlogin_r returned different names");
++errors;
}
}
else
{
printf ("Error: getlogin_r returned: %d (%s)\n",
ret, strerror (ret));
++errors;
}
}
return errors != 0;
}

View file

@ -40,20 +40,20 @@ getlogin_r (name, name_len)
int result = 0;
struct utmp *ut, line, buffer;
{
int d = __open ("/dev/tty", 0);
if (d < 0)
return errno;
/* Get name of tty connected to fd 0. Return if not a tty or
if fd 0 isn't open. Note that a lot of documentation says that
getlogin() is based on the controlling terminal---what they
really mean is "the terminal connected to standard input". The
getlogin() implementation of DEC Unix, SunOS, Solaris, HP-UX all
return NULL if fd 0 has been closed, so this is the compatible
thing to do. Note that ttyname(open("/dev/tty")) on those
systems returns /dev/tty, so that is not a possible solution for
getlogin(). */
result = __ttyname_r (d, real_tty_path, sizeof (tty_pathname));
(void) __close (d);
if (result != 0)
{
__set_errno (result);
return result;
}
}
result = __ttyname_r (0, real_tty_path, sizeof (tty_pathname));
if (result != 0)
return result;
real_tty_path += 5; /* Remove "/dev/". */
@ -69,16 +69,16 @@ getlogin_r (name, name_len)
}
else
{
size_t needed = strlen (ut->ut_line) + 1;
size_t needed = strlen (ut->ut_user) + 1;
if (needed < name_len)
if (needed > name_len)
{
__set_errno (ERANGE);
result = ERANGE;
}
else
{
memcpy (name, ut->ut_line, needed);
memcpy (name, ut->ut_user, needed);
result = 0;
}
}

View file

@ -219,6 +219,9 @@ struct rusage
enum __priority_which
{
PRIO_PROCESS = 0, /* WHO is a process ID. */
#define PRIO_PROCESS PRIO_PROCESS
PRIO_PGRP = 1, /* WHO is a process group ID. */
#define PRIO_PGRP PRIO_PGRP
PRIO_USER = 2 /* WHO is a user ID. */
#define PRIO_USER PRIO_USER
};

View file

@ -1,4 +1,4 @@
# @(#)africa 7.31
# @(#)africa 7.32
# This data is by no means authoritative; if you think you know better,
# go ahead and edit the file (and please send any changes to
@ -7,8 +7,8 @@
# From Paul Eggert <eggert@twinsun.com> (1999-03-22):
#
# A good source for time zone historical data outside the U.S. is
# Thomas G. Shanks, The International Atlas (4th edition),
# San Diego: ACS Publications, Inc. (1995).
# Thomas G. Shanks, The International Atlas (5th edition),
# San Diego: ACS Publications, Inc. (1999).
#
# Gwillim Law <LAW@encmail.encompass.com> writes that a good source
# for recent time zone data is the International Air Transport
@ -294,8 +294,6 @@ Zone Africa/Maseru 1:50:00 - LMT 1903 Mar
# Shanks reports the date as May 1, whereas Howse reports Jan; go with Shanks.
# For Liberia before 1972, Shanks reports -0:44, whereas Howse and Whitman
# each report -0:44:30; go with the more precise figure.
#
# From Shanks, as corrected by Whitman:
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Monrovia -0:43:08 - LMT 1882
-0:43:08 - MMT 1919 Mar # Monrovia Mean Time
@ -320,18 +318,16 @@ Rule Libya 1986 only - Apr 4 0:00 1:00 S
Rule Libya 1986 only - Oct 3 0:00 0 -
Rule Libya 1987 1989 - Apr 1 0:00 1:00 S
Rule Libya 1987 1990 - Oct 1 0:00 0 -
Rule Libya 1990 only - May 4 0:00 1:00 S
Rule Libya 1996 only - Mar 30 2:00s 1:00 S
Rule Libya 1996 only - Sep 30 2:00s 0 -
Rule Libya 1997 only - Apr 4 0:00 1:00 S
Rule Libya 1997 only - Oct 4 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Tripoli 0:52:44 - LMT 1920
1:00 Libya CE%sT 1959
2:00 - EET 1982
1:00 Libya CE%sT 1991
2:00 - EET 1996 Mar 30 3:00
1:00 Libya CE%sT 1997 Oct 4 0:00
1:00 Libya CE%sT 1990 May 4
# The following entries are all from Shanks;
# the IATA SSIM data contain some obvious errors.
2:00 - EET 1996 Sep 30
1:00 - CET 1997 Apr 4
1:00 1:00 CEST 1997 Oct 4
2:00 - EET
# Madagascar
@ -409,8 +405,8 @@ Zone Africa/Maputo 2:10:20 - LMT 1903 Mar
2:00 - CAT
# Namibia
# Shanks says DST transitions are at 0:00; go with IATA.
# The 1994-04-03 transition is from Shanks.
# Shanks reports no DST after 1998-04; go with IATA.
# RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Namibia 1994 max - Sep Sun>=1 2:00 1:00 S
Rule Namibia 1995 max - Apr Sun>=1 2:00 0 -
@ -458,9 +454,6 @@ Zone Africa/Kigali 2:00:16 - LMT 1935 Jun
2:00 - CAT
# St Helena
# From Paul Eggert (1997-10-05):
# Shanks says St Helena was 1W26 (-0:05:44) from 1890 to 1951,
# but this is most likely a typo for 5W42, the longitude of Jamestown.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Atlantic/St_Helena -0:22:48 - LMT 1890 # Jamestown
-0:22:48 - JMT 1951 # Jamestown Mean Time
@ -517,9 +510,6 @@ Rule SA 1943 1944 - Mar Sun>=15 2:00 0 -
Zone Africa/Johannesburg 1:52:00 - LMT 1892 Feb 8
1:30 - SAST 1903 Mar
2:00 SA SAST
# Shanks erroneously claims that most of South Africa switched to 1:00
# on 1994-04-03 at 00:00.
#
# Marion and Prince Edward Is
# scientific station since 1947
# no information

View file

@ -1,4 +1,4 @@
# @(#)asia 7.48
# @(#)asia 7.49
# This data is by no means authoritative; if you think you know better,
# go ahead and edit the file (and please send any changes to
@ -7,9 +7,8 @@
# From Paul Eggert <eggert@twinsun.com> (1999-03-22):
#
# A good source for time zone historical data outside the U.S. is
# Thomas G. Shanks, The International Atlas (4th edition),
# San Diego: ACS Publications, Inc. (1995).
# Except where otherwise noted, it is the source for the data below.
# Thomas G. Shanks, The International Atlas (5th edition),
# San Diego: ACS Publications, Inc. (1999).
#
# Gwillim Law <LAW@encmail.encompass.com> writes that a good source
# for recent time zone data is the International Air Transport
@ -78,24 +77,21 @@ Zone Asia/Kabul 4:36:48 - LMT 1890
4:30 - AFT
# Armenia
# From Paul Eggert (1999-09-27):
# From Paul Eggert (1999-10-29):
# Shanks has Yerevan switching to 3:00 (with Russian DST) in spring 1991,
# but usno1995 has Armenia at 4:00 (with DST), and Edgar Der-Danieliantz
# then to 4:00 with no DST in fall 1995, then readopting Russian DST in 1997.
# Go with Shanks, even when he disagrees with others. Edgar Der-Danieliantz
# <edd@AIC.NET> reported (1996-05-04) that Yerevan probably wouldn't use DST
# in 1996, though it did use DST in 1995. IATA SSIM (1991/1998) reports that
# Armenia switched from 3:00 to 4:00 in 1998 and observed DST after 1991,
# but started switching at 3:00s in 1998. IATA SSIM (1999-02) reports
# that they switch one day later in 2001 (i.e. on Mondays).
# What a mess! We guess Yerevan DST stayed in sync with Moscow between 1990
# and 1995, did not use DST in 1996, and started using DST again in 1997.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Yerevan 2:58:00 - LMT 1924 May 2
3:00 - YERT 1957 Mar # Yerevan Time
4:00 RussiaAsia YER%sT 1991 Mar 31 2:00s
3:00 1:00 YERST 1991 Sep 23 # independence
3:00 1:00 AMST 1991 Sep 29 2:00s # Armenia Time
3:00 - AMT 1992 Jan 19 2:00s
4:00 RussiaAsia AM%sT 1996
3:00 RussiaAsia AM%sT 1995 Sep 24 2:00s
4:00 - AMT 1997
4:00 RussiaAsia AM%sT
@ -191,7 +187,7 @@ Zone Asia/Phnom_Penh 6:59:40 - LMT 1906 Jun 9
# note about Time magazine, though apparently _something_ happened in 1986.
# Go with Shanks for now. I made up names for the other pre-1980 time zones.
# From Shanks (1995):
# From Shanks:
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Shang 1940 only - Jun 3 0:00 1:00 D
Rule Shang 1940 1941 - Oct 1 0:00 0 S
@ -247,7 +243,7 @@ Zone Asia/Hong_Kong 7:36:36 - LMT 1904 Oct 30
# Taiwan
# Shanks (1995) writes that Taiwan observed DST during 1945, when it
# Shanks writes that Taiwan observed DST during 1945, when it
# was still controlled by Japan. This is hard to believe, but we don't
# have any other information.
@ -331,6 +327,14 @@ Zone Asia/Tbilisi 2:59:16 - LMT 1880
4:00 1:00 GEST 1997 Mar lastSun
4:00 E-EurAsia GE%sT
# East Timor
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Dili 8:22:20 - LMT 1912
8:00 - TPT 1942 Feb 21 23:00
9:00 - JST 1945 Aug
9:00 - TPT 1976 May 3
8:00 - TPT # East Timor Time
# India
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Calcutta 5:53:28 - LMT 1880
@ -347,7 +351,9 @@ Zone Asia/Calcutta 5:53:28 - LMT 1880
# Indonesia
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Jakarta 7:07:12 - LMT 1867 Aug 10
7:07:12 - JMT 1924 Jan 1 0:13 # Jakarta MT
# Shanks says the next transition was at 1924 Jan 1 0:13,
# but this must be a typo.
7:07:12 - JMT 1923 Dec 31 23:47:12 # Jakarta
7:20 - JAVT 1932 Nov # Java Time
7:30 - JAVT 1942 Mar 23
9:00 - JST 1945 Aug
@ -460,6 +466,7 @@ Rule Iraq 1984 1985 - Apr 1 0:00 1:00 D
Rule Iraq 1985 1990 - Sep lastSun 1:00s 0 S
Rule Iraq 1986 1990 - Mar lastSun 1:00s 1:00 D
# IATA SSIM (1991/1996) says Apr 1 12:01am UTC; guess the `:01' is a typo.
# Shanks says Iraq did not observe DST 1992/1997 or 1999 on; ignore this.
Rule Iraq 1991 max - Apr 1 3:00s 1:00 D
Rule Iraq 1991 max - Oct 1 3:00s 0 D
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -477,7 +484,7 @@ Zone Asia/Baghdad 2:57:40 - LMT 1890
# ISRAEL 2 H AHEAD OF UTC
# ISRAEL 3 H AHEAD OF UTC APR 10 - SEP 3
# From Shanks (1995):
# From Shanks:
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Zion 1940 only - Jun 1 0:00 1:00 D
Rule Zion 1942 1944 - Nov 1 0:00 0 S
@ -718,16 +725,17 @@ Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2 # or Aktau
4:00 E-EurAsia AQT%sT
# Kirgizstan
# Transitions through 1991 are from Shanks.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Kirgiz 1992 1996 - Apr Sun>=7 0:00 1:00 S
Rule Kirgiz 1991 1996 - Sep lastSun 0:00 0 -
Rule Kirgiz 1992 1996 - Sep lastSun 0:00 0 -
Rule Kirgiz 1997 max - Mar lastSun 2:30 1:00 S
Rule Kirgiz 1997 max - Oct lastSun 2:30 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Bishkek 4:58:24 - LMT 1924 May 2
5:00 - FRUT 1930 Jun 21 # Frunze Time
6:00 RussiaAsia FRU%sT 1991 Mar 31 2:00s
5:00 1:00 FRUST 1991 Aug 31 # independence
5:00 1:00 FRUST 1991 Aug 31 2:00 # independence
5:00 Kirgiz KG%sT # Kirgizstan Time
###############################################################################
@ -739,7 +747,7 @@ Zone Asia/Bishkek 4:58:24 - LMT 1924 May 2
# Daylight Savings Time was not observed until 1987. He did not know
# at what time of day DST starts or ends.
# From Shanks (1995):
# From Shanks:
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule ROK 1960 only - May 15 0:00 1:00 D
Rule ROK 1960 only - Sep 13 0:00 0 S
@ -837,7 +845,6 @@ Zone Indian/Maldives 4:54:00 - LMT 1880 # Male
# Mongolia
# Shanks says that Mongolia has three time zones, but usno1995 and the CIA map
# Standard Time Zones of the World (1997-01)
# </a>
# both say that it has just one.
# Let's comment out the western and eastern Mongolian time zones
# till we know what their principal towns are.
@ -848,7 +855,8 @@ Rule Mongol 1985 1990 - Mar lastSun 2:00 1:00 S
Rule Mongol 1985 1990 - Sep lastSun 3:00 0 -
Rule Mongol 1991 max - Mar lastSun 0:00 1:00 S
Rule Mongol 1991 1995 - Sep lastSun 0:00 0 -
Rule Mongol 1996 only - Oct Fri>=22 0:00 0 -
# IATA SSIM (1996-09) says 1996-10-25; go with Shanks.
Rule Mongol 1996 only - Oct lastSun 0:00 0 -
Rule Mongol 1997 max - Sep lastSun 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
#Zone Asia/Dariv 6:14:32 - LMT 1905 Aug
@ -1028,7 +1036,6 @@ Zone Asia/Singapore 6:55:24 - LMT 1880
# no longer available as of 1999-08-17)
# reported ``the country's standard time will be put forward by one hour at
# midnight Friday (1830 GMT) `in the light of the present power crisis'.''
# Transitions before 1996 are from Shanks (1995).
#
# From Dharmasiri Senanayake, Sri Lanka Media Minister (1996-10-24), as quoted
# by Shamindra in
@ -1078,23 +1085,24 @@ Rule Syria 1991 1992 - Oct 1 0:00 0 -
Rule Syria 1992 only - Apr 8 0:00 1:00 S
Rule Syria 1993 only - Mar 26 0:00 1:00 S
Rule Syria 1993 only - Sep 25 0:00 0 -
# IATA SSIM (1996-09) says 1997-03-31; (1998-02) says 1998-04-02;
# IATA SSIM (1998-02) says 1998-04-02;
# (1998-09) says 1999-03-29 and 1999-09-29; (1999-02) says 1999-04-02,
# 2000-04-02, and 2001-04-02; ignore all these claims for now.
Rule Syria 1994 max - Apr 1 0:00 1:00 S
# 2000-04-02, and 2001-04-02; ignore all these claims and go with Shanks.
Rule Syria 1994 1996 - Apr 1 0:00 1:00 S
Rule Syria 1994 max - Oct 1 0:00 0 -
Rule Syria 1997 1998 - Mar lastMon 0:00 1:00 S
Rule Syria 1999 max - Apr 1 0:00 1:00 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Damascus 2:25:12 - LMT 1920
2:00 Syria EE%sT
# Tajikistan
# From Shanks (1995), who writes ``date of change uncertain'' for 1991.
# From Shanks.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Dushanbe 4:35:12 - LMT 1924 May 2
5:00 - DUST 1930 Jun 21 # Dushanbe Time
6:00 RussiaAsia DUS%sT 1991 Mar 31 2:00s
5:00 1:00 DUSST 1991 Sep 9 # independence
5:00 RussiaAsia TJ%sT 1992
5:00 1:00 DUSST 1991 Sep 9 2:00s
5:00 - TJT # Tajikistan Time
# Thailand
@ -1104,16 +1112,13 @@ Zone Asia/Bangkok 6:42:04 - LMT 1880
7:00 - ICT
# Turkmenistan
# From Shanks (1995):
# From Shanks.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Ashkhabad 3:53:32 - LMT 1924 May 2 # or Ashgabat
4:00 - ASHT 1930 Jun 21 # Ashkhabad Time
5:00 - ASHT 1981 Apr 1
5:00 1:00 ASHST 1981 Oct 1
6:00 - ASHT 1982 Apr 1
5:00 RussiaAsia ASH%sT 1991
5:00 - ASHT 1991 Oct 27 # independence
5:00 RussiaAsia TM%sT 1993 # Turkmenistan Time
5:00 RussiaAsia ASH%sT 1991 Mar 31 2:00
4:00 RussiaAsia ASH%sT 1991 Oct 27 # independence
4:00 RussiaAsia TM%sT 1992 Jan 19 2:00
5:00 - TMT
# United Arab Emirates
@ -1122,22 +1127,22 @@ Zone Asia/Dubai 3:41:12 - LMT 1920
4:00 - GST
# Uzbekistan
# From Shanks (1995):
# 1991 transitions are from Shanks.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Samarkand 4:27:12 - LMT 1924 May 2
4:00 - SAMT 1930 Jun 21 # Samarkand Time
5:00 - SAMT 1981 Apr 1
5:00 1:00 SAMST 1981 Oct 1
6:00 RussiaAsia TAS%sT 1991 Mar 31 2:00 # Tashkent Time
5:00 - TAST 1991 Sep 1 # independence
5:00 - UZT 1992
5:00 RussiaAsia TAS%sT 1991 Sep 1 # independence
5:00 RussiaAsia UZ%sT 1992
5:00 RussiaAsia UZ%sT 1993
5:00 - UZT
Zone Asia/Tashkent 4:37:12 - LMT 1924 May 2
5:00 - TAST 1930 Jun 21 # Tashkent Time
6:00 RussiaAsia TAS%sT 1991 Mar 31 2:00s
5:00 - TAST 1991 Sep 1 # independence
5:00 - UZT 1992
5:00 RussiaAsia TAS%sT 1991 Sep 1 # independence
5:00 RussiaAsia UZ%sT 1992
5:00 RussiaAsia UZ%sT 1993
5:00 - UZT
@ -1145,7 +1150,7 @@ Zone Asia/Tashkent 4:37:12 - LMT 1924 May 2
# From Paul Eggert <eggert@twinsun.com> (1993-11-18):
# Saigon's official name is Thanh-Pho Ho Chi Minh, but it's too long.
# We'll stick with the traditional name for now.
# From Shanks (1991):
# From Shanks:
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Saigon 7:06:40 - LMT 1906 Jun 9
7:06:20 - SMT 1911 Mar 11 0:01 # Saigon MT?

View file

@ -1,4 +1,4 @@
# @(#)australasia 7.51
# @(#)australasia 7.52
# This file also includes Pacific islands.
# Notes are at the end of this file
@ -8,8 +8,7 @@
# Australia
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
# Shanks gives 1917 Jan 1 0:01; go with Whitman (and guess 2:00).
Rule Aus 1916 only - Oct 1 2:00 1:00 -
Rule Aus 1917 only - Jan 1 0:01 1:00 -
Rule Aus 1917 only - Mar 25 2:00 0 -
Rule Aus 1942 only - Jan 1 2:00 1:00 -
Rule Aus 1942 only - Mar 29 2:00 0 -
@ -24,11 +23,9 @@ Rule Aus 1943 only - Oct 3 2:00 1:00 -
# Northern Territory
Zone Australia/Darwin 8:43:20 - LMT 1895 Feb
9:00 - CST 1899 May
9:30 - CST 1917 Jan 1 0:01
9:30 Aus CST
# Western Australia
Zone Australia/Perth 7:43:24 - LMT 1895 Dec
8:00 - WST 1917 Jan 1 0:01
8:00 Aus WST 1943 Jul
8:00 - WST 1974 Oct lastSun 2:00s
8:00 1:00 WST 1975 Mar Sun>=1 2:00s
@ -58,11 +55,9 @@ Rule AQ 1990 1992 - Mar Sun>=1 2:00s 0 -
Rule Holiday 1992 1993 - Oct lastSun 2:00s 1:00 -
Rule Holiday 1993 1994 - Mar Sun>=1 2:00s 0 -
Zone Australia/Brisbane 10:12:08 - LMT 1895
10:00 - EST 1917 Jan 1 0:01
10:00 Aus EST 1971
10:00 AQ EST
Zone Australia/Lindeman 9:55:56 - LMT 1895
10:00 - EST 1917 Jan 1 0:01
10:00 Aus EST 1971
10:00 AQ EST 1992 Jul
10:00 Holiday EST
@ -81,7 +76,6 @@ Rule AS 1995 max - Mar lastSun 2:00s 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Australia/Adelaide 9:14:20 - LMT 1895 Feb
9:00 - CST 1899 May
9:30 - CST 1917 Jan 1 0:01
9:30 Aus CST 1971
9:30 AS CST
@ -99,11 +93,14 @@ Rule AT 1986 only - Oct Sun>=15 2:00s 1:00 -
Rule AT 1987 1990 - Mar Sun>=15 2:00s 0 -
Rule AT 1987 only - Oct Sun>=22 2:00s 1:00 -
Rule AT 1988 1990 - Oct lastSun 2:00s 1:00 -
Rule AT 1991 max - Oct Sun>=1 2:00s 1:00 -
Rule AT 1991 1999 - Oct Sun>=1 2:00s 1:00 -
Rule AT 1991 max - Mar lastSun 2:00s 0 -
Rule AT 2000 only - Aug lastSun 2:00s 1:00 -
Rule AT 2001 max - Oct Sun>=1 2:00s 1:00 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Australia/Hobart 9:49:16 - LMT 1895 Sep
10:00 - EST 1917 Jan 1 0:01
10:00 - EST 1916 Oct 1 2:00
10:00 1:00 EST 1917 Feb
10:00 Aus EST 1967
10:00 AT EST
@ -121,7 +118,6 @@ Rule AV 2000 only - Aug lastSun 2:00s 1:00 -
Rule AV 2001 max - Oct lastSun 2:00s 1:00 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Australia/Melbourne 9:39:52 - LMT 1895 Feb
10:00 - EST 1917 Jan 1 0:01
10:00 Aus EST 1971
10:00 AV EST
@ -141,13 +137,11 @@ Rule AN 2000 only - Aug lastSun 2:00s 1:00 -
Rule AN 2001 max - Oct lastSun 2:00s 1:00 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Australia/Sydney 10:04:52 - LMT 1895 Feb
10:00 - EST 1917 Jan 1 0:01
10:00 Aus EST 1971
10:00 AN EST
Zone Australia/Broken_Hill 9:25:48 - LMT 1895 Feb
10:00 - EST 1896 Aug 23
9:00 - CST 1899 May
9:30 - CST 1917 Jan 1 0:01
9:30 Aus CST 1971
9:30 AN CST 2000
9:30 AS CST
@ -157,10 +151,10 @@ Zone Australia/Broken_Hill 9:25:48 - LMT 1895 Feb
Rule LH 1981 1984 - Oct lastSun 2:00s 1:00 -
Rule LH 1982 1985 - Mar Sun>=1 2:00s 0 -
Rule LH 1985 only - Oct lastSun 2:00s 0:30 -
Rule LH 1986 1989 - Mar Sun>=15 2:00s 0 -
Rule LH 1986 1991 - Mar Sun>=15 2:00s 0 -
Rule LH 1986 only - Oct 19 2:00s 0:30 -
Rule LH 1987 max - Oct lastSun 2:00s 0:30 -
Rule LH 1990 1995 - Mar Sun>=1 2:00s 0 -
Rule LH 1992 1995 - Mar Sun>=1 2:00s 0 -
Rule LH 1996 max - Mar lastSun 2:00s 0 -
Zone Australia/Lord_Howe 10:36:20 - LMT 1895 Feb
10:00 - EST 1981 Mar
@ -193,7 +187,7 @@ Zone Indian/Christmas 7:02:52 - LMT 1895 Feb
7:00 - CXT # Christmas Island Time
# Cook Is
# From Shanks (1995):
# From Shanks:
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Cook 1978 only - Nov 12 0:00 0:30 HS
Rule Cook 1979 1991 - Mar Sun>=1 0:00 0 -
@ -271,8 +265,9 @@ Zone Pacific/Truk 10:07:08 - LMT 1901
Zone Pacific/Ponape 10:32:52 - LMT 1901 # Kolonia
11:00 - PONT # Ponape Time
Zone Pacific/Kosrae 10:51:56 - LMT 1901
11:00 - PONT 1969 Oct
12:00 - KOST # Kosrae Time
11:00 - KOST 1969 Oct # Kosrae Time
12:00 - KOST 1999
11:00 - KOST
# Nauru
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -287,6 +282,7 @@ Zone Pacific/Nauru 11:07:40 - LMT 1921 Jan 15 # Uaobe
Rule NC 1977 1978 - Dec Sun>=1 0:00 1:00 S
Rule NC 1978 1979 - Feb 27 0:00 0 -
Rule NC 1996 only - Dec 1 2:00s 1:00 S
# Shanks says the following was at 2:00; go with IATA.
Rule NC 1997 only - Mar 2 2:00s 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Noumea 11:05:48 - LMT 1912 Jan 13
@ -394,10 +390,9 @@ Zone Pacific/Fakaofo -11:24:56 - LMT 1901
-10:00 - TKT # Tokelau Time
# Tonga
# Transition time is a guess--see below
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Tonga 1999 max - Oct Sat>=1 0:00 1:00 S
Rule Tonga 2000 max - Apr Sat>=15 0:00 - -
Rule Tonga 1999 max - Oct Sat>=1 2:00s 1:00 S
Rule Tonga 2000 max - Apr Sun>=16 2:00s - -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Tongatapu 12:19:20 - LMT 1901
12:20 - TOT 1941 # Tonga Time
@ -467,10 +462,10 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# go ahead and edit the file (and please send any changes to
# tz@elsie.nci.nih.gov for general use in the future).
# From Paul Eggert <eggert@twinsun.com> (1999-03-22):
# From Paul Eggert <eggert@twinsun.com> (1999-10-29):
# A good source for time zone historical data outside the U.S. is
# Thomas G. Shanks, The International Atlas (4th edition),
# San Diego: ACS Publications, Inc. (1995).
# Thomas G. Shanks, The International Atlas (5th edition),
# San Diego: ACS Publications, Inc. (1999).
#
# Gwillim Law <LAW@encmail.encompass.com> writes that a good source
# for recent time zone data is the International Air Transport
@ -733,6 +728,13 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# 6 weeks a year now when we are out of sync with the rest of Australia
# (but nothing new about that).
# From Alex Livingston (1999-10-04):
# I heard on the ABC (Australian Broadcasting Corporation) radio news on the
# (long) weekend that Tasmania, which usually goes its own way in this regard,
# has decided to join with most of NSW, the ACT, and most of Victoria
# (Australia) and start daylight saving on the last Sunday in August in 2000
# instead of the first Sunday in October.
# Victoria
# The rules for 1971 through 1991 were reported by George Shepherd
@ -884,11 +886,11 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# time on both the first Sunday in October and the third Sunday in March.
# As with Australia, we'll assume the tradition is 2:00s, not 2:00.
#
# From Paul Eggert (1996-11-22):
# Shanks gives no data for Chatham; usno1989 says it's +12:45,
# usno1995 says it's +12:45/+13:45, and IATA SSIM (1991/1996)
# From Paul Eggert (1999-10-29):
# Shanks gives no time data for Chatham; usno1989 says it's +12:45,
# usno1995 says it's +12:45/+13:45, and IATA SSIM (1991/1999)
# gives the NZ rules but with transitions at 2:45 local standard time.
# Guess that they adopted DST in 1990.
# Guess that they have been in lock-step with NZ since 1990.
###############################################################################
@ -945,6 +947,14 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# Shanks writes that Truk switched from GMT+10 to GMT+11 on 1978-10-01;
# ignore this for now.
# From Paul Eggert (1999-10-29):
# The Federated States of Micronesia Visitors Board writes in
# <a href="http://www.fsmgov.org/info/clocks.html">
# The Federated States of Micronesia - Visitor Information
# </a> (1999-01-26)
# that Truk and Yap are GMT+10, and Ponape and Kosrae are GMT+11.
# We don't know when Kosrae switched from GMT+12; assume January 1 for now.
# Samoa
# Howse writes (p 153, citing p 10 of the 1883-11-18 New York Herald)
@ -1018,3 +1028,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# Sept. 10, clocks must be turned ahead one hour on the opening day and
# set back an hour on the closing date."
# Alas, no indication of the time of day.
# From Rives McDow (1999-10-06):
# Tonga started its Daylight Saving on Saturday morning October 2nd at 0200am.
# Daylight Saving ends on April 16 at 0300am which is Sunday morning.

View file

@ -1,9 +1,10 @@
# @(#)backward 7.15
# @(#)backward 7.16
# This file provides links between current names for time zones
# and their old names. Many names changed in late 1993.
Link America/Adak America/Atka
Link America/Tijuana America/Ensenada
Link America/Indianapolis America/Fort_Wayne
Link America/Indiana/Knox America/Knox_IN
Link America/St_Thomas America/Virgin

View file

@ -1,6 +1,6 @@
# Check tz tables for consistency.
# @(#)checktab.awk 1.5
# @(#)checktab.awk 1.6
# Contributed by Paul Eggert <eggert@twinsun.com>.
@ -148,7 +148,7 @@ END {
if (0 < want_warnings) {
for (cc in cc2name) {
if (!cc_used[cc]) {
printf "%s:%d: warning:" \
printf "%s:%d: warning: " \
"no Zone entries for %s (%s)\n", \
iso_table, cc2NR[cc], cc, cc2name[cc]
}

View file

@ -1,13 +1,13 @@
# @(#)europe 7.65
# @(#)europe 7.66
# This data is by no means authoritative; if you think you know better,
# go ahead and edit the file (and please send any changes to
# tz@elsie.nci.nih.gov for general use in the future).
# From Paul Eggert <eggert@twinsun.com> (1999-03-22):
# From Paul Eggert <eggert@twinsun.com> (1999-10-29):
# A good source for time zone historical data outside the U.S. is
# Thomas G. Shanks, The International Atlas (4th edition),
# San Diego: ACS Publications, Inc. (1995).
# Thomas G. Shanks, The International Atlas (5th edition),
# San Diego: ACS Publications, Inc. (1999).
#
# Gwillim Law <LAW@encmail.encompass.com> writes that a good source
# for recent time zone data is the International Air Transport
@ -724,10 +724,10 @@
# changes in Alderney and Guernsey were at the same 2am GMT time as
# for Great Britain; the order for Jersey is more interesting.
#
# From Paul Eggert (1999-10-06):
# From Paul Eggert (1999-10-22):
# Mark Brader kindly translated the 1916 Jersey order from the French.
# It says that the 1916 transitions were 05-20 and 09-30 at midnight.
# Presumably this was 24:00, two hours earlier than Great Britain.
# No doubt this was 24:00, two or three hours earlier than Great Britain.
# It also says that after 1916 they'll sync with Great Britain.
# From Joseph S. Myers (1999-09-28):
@ -1005,9 +1005,6 @@ Rule Russia 1919 only - May 31 23:00 2:00 MDST
Rule Russia 1919 only - Jul 1 2:00 1:00 S
Rule Russia 1919 only - Aug 16 0:00 0 -
Rule Russia 1921 only - Feb 14 23:00 1:00 S
# Shanks gives 1921 Mar 21 for the following transition.
# From Andrey A. Chernov <ache@astral.msk.su> (1993-11-12):
# My sources says, that it is Mar 20, not 21.
Rule Russia 1921 only - Mar 20 23:00 2:00 M # Midsummer
Rule Russia 1921 only - Sep 1 0:00 1:00 S
Rule Russia 1921 only - Oct 1 0:00 0 -
@ -1090,7 +1087,7 @@ Rule Albania 1984 only - Apr 1 0:00 1:00 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Europe/Tirane 1:19:20 - LMT 1914
1:00 - CET 1940 Jun 16
# The following transition is from Shanks's 4th edition (1995).
# The following transition is from Shanks.
1:00 Albania CE%sT 1984 Jul
1:00 EU CE%sT
@ -1120,17 +1117,18 @@ Zone Europe/Vienna 1:05:20 - LMT 1893 Apr
1:00 EU CE%sT
# Belarus
# Transitions before 1991 are from Shanks (1995).
# Transitions before 1991 are from Shanks.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Europe/Minsk 1:50:16 - LMT 1880
1:50 - MMT 1924 May 2 # Minsk Mean Time
2:00 - EET 1930 Jun 21
3:00 - MSK 1941 Jun 28
1:00 C-Eur CE%sT 1944 Jul 3
3:00 Russia MSK/MSD 1991 Mar 31 2:00s
3:00 Russia MSK/MSD 1990
3:00 - MSK 1991 Mar 31 2:00s
2:00 1:00 EEST 1991 Sep 29 2:00s
2:00 - EET 1992 Mar 29 2:00s
2:00 1:00 EEST 1992 Sep 27 2:00s
2:00 - EET 1992 Mar 29 0:00s
2:00 1:00 EEST 1992 Sep 27 0:00s
2:00 Russia EE%sT
# Belgium
@ -1366,7 +1364,6 @@ Zone Europe/Helsinki 1:39:52 - LMT 1878 May 31
# France
#
# Shanks seems to use `24:00' ambiguously; we resolve it with Whitman.
# From Shanks (1991):
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule France 1916 only - Jun 14 23:00s 1:00 S
Rule France 1916 1919 - Oct Sun>=1 23:00s 0 -
@ -1454,7 +1451,6 @@ Rule Germany 1945 only - May 31 3:00 2:00 M # Midsummer
Rule Germany 1945 only - Sep 23 3:00 1:00 S
Rule Germany 1945 only - Nov 18 2:00s 0 -
Rule Germany 1946 only - Apr 14 2:00s 1:00 S
# Shanks gives 1946-10-06; go with the PTB.
Rule Germany 1946 only - Oct 7 2:00s 0 -
Rule Germany 1947 1949 - Oct Sun>=1 2:00s 0 -
Rule Germany 1947 only - Apr 6 2:00s 1:00 S
@ -1571,10 +1567,10 @@ Zone Europe/Budapest 1:16:20 - LMT 1890 Oct
# might be a reference to the Julian calendar as opposed to Gregorian, or it
# might mean something else (???).
#
# From Paul Eggert <eggert@twinsun.com> (1993-12-09):
# From Paul Eggert <eggert@twinsun.com> (1999-10-29):
# The Iceland Almanak, Shanks and Whitman disagree on many points.
# We go with the Almanak, except for one claim from Shanks, namely that
# Reykavik was -1:28 from 1837 to 1908, local mean time before that.
# Reykavik was 21W57 from 1837 to 1908, local mean time before that.
#
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Iceland 1917 1918 - Feb 19 23:00 1:00 S
@ -1728,8 +1724,6 @@ Zone Europe/Riga 1:36:24 - LMT 1880
2:00 - EET 1940 Aug 5
3:00 - MSK 1941 Jul
1:00 C-Eur CE%sT 1944 Oct 13
# Shanks says 1944-08-08, but
# Riga fell to the Red Army on 1944-10-13.
3:00 Russia MSK/MSD 1989 Mar lastSun 2:00s
2:00 1:00 EEST 1989 Sep lastSun 2:00s
2:00 Latvia EE%sT 1997 Jan 21
@ -1832,12 +1826,14 @@ Zone Europe/Malta 0:58:04 - LMT 1893 Nov 2 # Valletta
1:00 EU CE%sT
# Moldova
# see commentary for Romania
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Europe/Chisinau 1:55:20 - LMT 1924 May 2
2:00 - EET 1930 Jun 21
3:00 Russia MSK/MSD 1991 Mar 31 2:00s
2:00 1:00 EEST 1991 Sep 29 2:00s
2:00 E-Eur EE%sT
2:00 E-Eur EE%sT 1997
2:00 EU EE%sT
# Monaco
# Shanks gives 0:09 for Paris Mean Time; go with Howse's more precise 0:09:21.
@ -1852,7 +1848,7 @@ Zone Europe/Monaco 0:29:32 - LMT 1891 Mar 15
# Howse writes that the Netherlands' railways used GMT between 1892 and 1940,
# but for other purposes the Netherlands used Amsterdam mean time.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
# Shanks gives 1916 May 1 0:00 and 1916 Oct 1 0:00; go with Whitman.
# Shanks gives 1916 Apr 30 24:00 and 1916 Oct 1 00:00; go with Whitman.
Rule Neth 1916 only - May 1 2:00s 1:00 NST # Netherlands Summer Time
Rule Neth 1916 only - Oct 2 2:00s 0 AMT # Amsterdam Mean Time
Rule Neth 1917 only - Apr 16 2:00s 1:00 NST
@ -1878,7 +1874,6 @@ Rule Neth 1937 1939 - Oct Sun>=2 2:00s 0 -
Rule Neth 1938 1939 - May 15 2:00s 1:00 S
Rule Neth 1945 only - Apr 2 2:00s 1:00 S
Rule Neth 1945 only - May 20 2:00s 0 -
# Before 1937, Shanks says just `0:20'; we use Whitman's more precise figure.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Europe/Amsterdam 0:19:28 - LMT 1892 May
0:19:28 Neth %s 1937 Jul
@ -2067,6 +2062,14 @@ Zone Atlantic/Madeira -1:07:36 - LMT 1884 # Funchal
0:00 EU WE%sT
# Romania
#
# From Paul Eggert (1999-10-07):
# <a href="http://www.nineoclock.ro/POL/1778pol.html">
# Nine O'clock</a> (1998-10-23) reports that the switch occurred at
# 04:00 local time in fall 1998. For lack of better info,
# assume that Romania and Moldova switched to EU rules in 1997,
# the same year as Bulgaria.
#
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Romania 1932 only - May 21 0:00s 1:00 S
Rule Romania 1932 1939 - Oct Sun>=1 0:00s 0 -
@ -2083,7 +2086,8 @@ Zone Europe/Bucharest 1:44:24 - LMT 1891 Oct
2:00 Romania EE%sT 1981 Mar 29 2:00s
2:00 C-Eur EE%sT 1991
2:00 Romania EE%sT 1994
2:00 E-Eur EE%sT
2:00 E-Eur EE%sT 1997
2:00 EU EE%sT
# Russia
@ -2293,7 +2297,7 @@ Zone Europe/Stockholm 1:12:12 - LMT 1878 May 31
# 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 (1991):
# From Shanks:
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]
@ -2316,7 +2320,6 @@ Rule Turkey 1922 only - Oct 8 0:00 0 -
Rule Turkey 1924 only - May 13 0:00 1:00 S
Rule Turkey 1924 1925 - Oct 1 0:00 0 -
Rule Turkey 1925 only - May 1 0:00 1:00 S
# Shanks omits the first two transitions in 1940; go with Whitman.
Rule Turkey 1940 only - Jun 30 0:00 1:00 S
Rule Turkey 1940 only - Oct 5 0:00 0 -
Rule Turkey 1940 only - Dec 1 0:00 1:00 S

View file

@ -1,21 +1,18 @@
# ISO 3166 2-letter country codes
#
# @(#)iso3166.tab 1.6
# @(#)iso3166.tab 1.7
#
# From Paul Eggert <eggert@twinsun.com> (1996-09-03):
# From Paul Eggert <eggert@twinsun.com> (1999-10-13):
#
# This file contains a table with the following columns:
# 1. ISO 3166-1:1997 2-character country code. See:
# 1. ISO 3166-1:1999 2-character country code. See:
# <a href="http://www.din.de/gremien/nas/nabd/iso3166ma/codlstp1.html">
# ISO 3166-1: The Code List
# </a>.
# 2. The usual English name for the country,
# chosen so that alphabetic sorting of subsets produces helpful lists.
# This is not the same as the English name in the ISO 3166 tables.
#
# The PS code below has been reserved for Palestine by the ISO;
# however, the code is not yet officially assigned to Palestine. Please see
# <a href="ftp://ftp.informatik.uni-erlangen.de/pub/doc/ISO/ISO-3166-background">
# Cord Wischhoefer, Country Code Elements for Palestine (1996-07-24)
# </a>.
#
# Columns are separated by a single tab.
# The table is sorted by country code.
#
@ -95,7 +92,6 @@ FK Falkland Islands
FM Micronesia
FO Faeroe Islands
FR France
FX France, Metropolitan
GA Gabon
GB Britain (UK)
GD Grenada
@ -114,6 +110,7 @@ GT Guatemala
GU Guam
GW Guinea-Bissau
GY Guyana
HK Hong Kong
HM Heard Island & McDonald Islands
HN Honduras
HR Croatia

View file

@ -1,4 +1,4 @@
# @(#)northamerica 7.47
# @(#)northamerica 7.48
# also includes Central America and the Caribbean
# This data is by no means authoritative; if you think you know better,
@ -408,6 +408,16 @@ Zone America/Louisville -5:43:02 - LMT 1883 Nov 18 12:00
-5:00 US E%sT 1974 Jan 6 2:00
-6:00 1:00 CDT 1974 Oct 27 2:00
-5:00 US E%sT
# Wayne County, Kentucky
# From
# <a href="http://frwebgate.access.gpo.gov/cgi-bin/getdoc.cgi?dbname=1999_register&docid=99-26945-filed">
# Federal Register Doc. 99-26945
# </a> (1999-10-14 08:45-04)
# In response to a petition by the Wayne County, Kentucky, Fiscal Court,
# the Department of Transportation (DOT) proposed to move Wayne County,
# Kentucky, from the Central Time Zone to the Eastern Time Zone.... Now
# the earliest date that the proposed change might take effect is
# October 29, 2000.
# Michigan
#
@ -482,10 +492,10 @@ Link Pacific/Honolulu HST
################################################################################
# From Paul Eggert <eggert@twinsun.com> (1996-11-22):
# From Paul Eggert <eggert@twinsun.com> (1999-10-29):
# A good source for time zone historical data outside the US is
# Thomas G. Shanks, The International Atlas (4th edition),
# San Diego: ACS Publications, Inc. (1995).
# Thomas G. Shanks, The International Atlas (5th edition),
# San Diego: ACS Publications, Inc. (1999).
#
# Gwillim Law <LAW@encmail.encompass.com> writes that a good source
# for recent time zone data is the International Air Transport
@ -536,7 +546,7 @@ Link Pacific/Honolulu HST
# From Paul Eggert <eggert@twinsun.com> (1994-11-22):
# Alas, this sort of thing must be handled by localization software.
# The data for Canada are all from Shanks (1991).
# The data for Canada are all from Shanks.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
@ -682,7 +692,7 @@ Zone America/Glace_Bay -3:59:48 - LMT 1902 Jun 15
# says that Ontario east of 90W uses EST/EDT, and west of 90W uses CST/CDT.
# Officially Atikokan is therefore on CST/CDT, and most likely this report
# concerns a non-official time observed as a matter of local practice.
# For what it's worth, Shanks (1995) says that Atikokan has agreed with
# For what it's worth, Shanks says that Atikokan has agreed with
# Rainy River ever since standard time was introduced.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
@ -854,7 +864,7 @@ Zone America/Edmonton -7:33:52 - LMT 1906 Sep
# From Paul Eggert (1996-06-12):
# Shanks writes that since 1970 most of this region has been like Vancouver.
# Dawswon Creek uses MST. Much of east BC is like Edmonton.
# Dawson Creek uses MST. Much of east BC is like Edmonton.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Vanc 1918 only - Apr 14 2:00 1:00 D
@ -877,9 +887,8 @@ Zone America/Dawson_Creek -8:00:56 - LMT 1884
# Northwest Territories, Nunavut, Yukon
# From Paul Eggert (1996-10-07):
# From Paul Eggert (1999-10-29):
# Dawson switched to PST in 1973. Inuvik switched to MST in 1979.
# Shanks's table for Watson Lake is corrupted, so we have no data there.
# Mathew Englander <mathew@io.org> (1996-10-07) gives the following refs:
# * 1967. Paragraph 28(34)(g) of the Interpretation Act, S.C. 1967-68,
# c. 7 defines Yukon standard time as UTC-9. This is still valid;
@ -892,7 +901,7 @@ Zone America/Dawson_Creek -8:00:56 - LMT 1884
# From Rives McDow (1999-09-04):
# Nunavut ... moved ... to incorporate the whole territory into one time zone.
# <a href="http://www.nunatsiaq.com/nunavut/nvt90903_13.html">
# The change announcement
# Nunavut moves to single time zone Oct. 31
# </a>
#
# From Antoine Leca (1999-09-06):
@ -997,10 +1006,6 @@ Zone America/Dawson -9:17:40 - LMT 1900 Aug 20
# a zone that's GMT-8 with DST; a zone that's always GMT-7;
# a zone that's GMT-6 with DST; and a zone that's always GMT-6.
# From Paul Eggert <eggert@twinsun.com> (1993-11-18):
# Shanks also says there are four zones, but disagrees about the fourth.
# Instead of GMT-6 with DST, he says there's GMT-8 without DST.
# From Alan Perry <alan.perry@eng.sun.com> (1996-02-15):
# A guy from our Mexico subsidiary finally found the Presidential Decree
# outlining the timezone changes in Mexico.
@ -1039,7 +1044,7 @@ Zone America/Dawson -9:17:40 - LMT 1900 Aug 20
# The State of Quintana Roo has reverted back to central STD and DST times
# (i.e. UTC -0600 and -0500 as of 1998-08-02).
# From Shanks (1991):
# From Shanks:
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Mexico 1939 only - Feb 5 0:00 1:00 D
Rule Mexico 1939 only - Jun 25 0:00 0 S
@ -1052,12 +1057,11 @@ Rule Mexico 1950 only - Jul 30 0:00 0 S
Rule Mexico 1996 max - Apr Sun>=1 2:00 1:00 D
Rule Mexico 1996 max - Oct lastSun 2:00 0 S
#
Rule BajaN 1950 1966 - Apr lastSun 2:00 1:00 D
Rule BajaN 1950 1961 - Sep lastSun 2:00 0 S
Rule BajaN 1961 1966 - Oct lastSun 2:00 0 S
Rule BajaN 1954 1961 - Apr lastSun 2:00 1:00 D
Rule BajaN 1954 1961 - Sep lastSun 2:00 0 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Quintana Roo
Zone America/Cancun -5:47:04 - LMT 1922 Jan 1 1:12:42
Zone America/Cancun -5:47:04 - LMT 1922 Jan 1 0:12:56
-6:00 - CST 1996
-6:00 Mexico C%sT 1997 Oct lastSun 2:00
-5:00 Mexico E%sT 1998 Aug 2 2:00
@ -1071,7 +1075,7 @@ Zone America/Mexico_City -6:36:36 - LMT 1922 Jan 1 0:23:24
-7:00 - MST 1932 Mar 30 23:00
-6:00 Mexico C%sT
# Chihuahua
Zone America/Chihuahua -7:04:20 - LMT 1921 Dec 31 23:55:44
Zone America/Chihuahua -7:04:20 - LMT 1921 Dec 31 23:55:40
-7:00 - MST 1927 Jun 10 23:00
-6:00 - CST 1930 Nov 15
-7:00 - MST 1931 May 1 23:00
@ -1092,23 +1096,15 @@ Zone America/Mazatlan -7:05:40 - LMT 1921 Dec 31 23:54:20
-7:00 - MST 1949 Jan 14
-8:00 - PST 1970
-7:00 Mexico M%sT
# N Baja California
# Baja California
Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 0:11:56
-8:00 - PST 1927 Jun 10 23:00
-7:00 - MST 1930 Nov 16
-8:00 - PST 1942 Apr
-7:00 - MST 1949 Jan 14
-8:00 BajaN P%sT 1967 Apr lastSun 2:00
-8:00 BajaN P%sT 1976
-8:00 US P%sT 1996
-8:00 Mexico P%sT
# Baja California
Zone America/Ensenada -7:46:28 - LMT 1922 Jan 1 0:13:32
-8:00 - PST 1927 Jun 10 23:00
-7:00 - MST 1930 Nov 16
-8:00 - PST 1942 Apr
-7:00 - MST 1949 Jan 14
-8:00 - PST 1996
-8:00 Mexico P%sT
#
# Revillagigedo Is
# no information
@ -1173,8 +1169,6 @@ Zone America/Cayman -5:25:32 - LMT 1890 # Georgetown
-5:00 - EST
# Costa Rica
# Shanks gives some very odd dates for 1991, and stops there.
# For now, we won't guess further.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule CR 1979 1980 - Feb lastSun 0:00 1:00 D
Rule CR 1979 1980 - Jun Sun>=1 0:00 0 S
@ -1185,7 +1179,7 @@ Rule CR 1992 only - Mar 15 0:00 0 S
# There are too many San Joses elsewhere, so we'll use `Costa Rica'.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Costa_Rica -5:36:20 - LMT 1890 # San Jose
-5:36 - SJMT 1921 Jan 15 # San Jose Mean Time
-5:36:20 - SJMT 1921 Jan 15 # San Jose Mean Time
-6:00 CR C%sT
# Coco
# no information; probably like America/Costa_Rica
@ -1236,7 +1230,7 @@ Rule Cuba 2000 max - Apr 1 0:00s 1:00 D
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Havana -5:29:28 - LMT 1890
-5:30 - HMT 1925 Jul 19 12:00 # Havana MT
-5:29:36 - HMT 1925 Jul 19 12:00 # Havana MT
-5:00 Cuba C%sT
# Dominica
@ -1294,7 +1288,7 @@ Zone America/Guatemala -6:02:04 - LMT 1918 Oct 5
Rule Haiti 1983 only - May 8 0:00 1:00 D
Rule Haiti 1984 1987 - Apr lastSun 0:00 1:00 D
Rule Haiti 1983 1987 - Oct lastSun 0:00 0 S
# Shanks says AT is 2:00, but IATA SSIM (1991/1996) says 1:00s. Go with IATA.
# Shanks says AT is 2:00, but IATA SSIM (1991/1997) says 1:00s. Go with IATA.
Rule Haiti 1988 1997 - Apr Sun>=1 1:00s 1:00 D
Rule Haiti 1988 1997 - Oct lastSun 1:00s 0 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -1318,11 +1312,11 @@ Zone America/Tegucigalpa -5:48:52 - LMT 1921 Apr
# From U. S. Naval Observatory (1989-01-19):
# JAMAICA 5 H BEHIND UTC
# From Shanks (1991):
# From Shanks:
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Jamaica -5:07:12 - LMT 1890 # Kingston
-5:07:12 - KMT 1912 Feb # Kingston Mean Time
-5:00 - EST 1974 Jan 6 2:00
-5:00 - EST 1974 Apr 28 2:00
-5:00 US E%sT 1984
-5:00 - EST

View file

@ -1,4 +1,4 @@
# @(#)southamerica 7.31
# @(#)southamerica 7.32
# This data is by no means authoritative; if you think you know better,
# go ahead and edit the file (and please send any changes to
@ -6,8 +6,8 @@
# From Paul Eggert <eggert@twinsun.com> (1999-07-07):
# A good source for time zone historical data outside the U.S. is
# Thomas G. Shanks, The International Atlas (4th edition),
# San Diego: ACS Publications, Inc. (1995).
# Thomas G. Shanks, The International Atlas (5th edition),
# San Diego: ACS Publications, Inc. (1999).
#
# Gwillim Law <LAW@encmail.encompass.com> writes that a good source
# for recent time zone data is the International Air Transport
@ -99,7 +99,7 @@ Rule Arg 1988 only - Dec 1 0:00 1:00 S
# Talleres de Hidrografia Naval Argentina
# (Argentine Naval Hydrography Institute)
#
# Shanks gives 1989 Mar 16 and stops after 1990 Mar 4; go with Otero.
# Shanks stops after 1992-03-01; go with Otero.
Rule Arg 1989 1993 - Mar Sun>=1 0:00 0 -
Rule Arg 1989 1992 - Oct Sun>=15 0:00 1:00 S
#
@ -216,38 +216,16 @@ Zone America/La_Paz -4:32:36 - LMT 1890
# Maranhao (MA), Paraiba (PR), Pernambuco (PE), Piaui (PI), and Rio Grande do
# Norte (RN), and the eastern part of Para (PA) are all in BR1 without DST.
# From Paul Eggert (1996-11-22):
# Let's make the following assumptions:
#
# * All data in Shanks are correct through 1990. In particular,
# Shanks was right when he said Acre stopped observing DST in mid-1988.
# * Areas where Shanks reports DST up to 1990, but the IATA reports no DST
# in 1995, stopped observing DST in mid-1990.
#
# Under these assumptions Brazil needs 7 entries to cover all the distinct
# time zone histories since 1970:
#
# Noronha (UTC-2), Fortaleza (UTC-3), and Manaus (UTC-4) stopped observing DST
# in mid-1990.
# Maceio (UTC-3) stopped observing DST in mid-1990, but started again mid-1995.
# Sao Paulo (UTC-3) and Cuiaba (UTC-4) always observed DST.
# Porto Acre (UTC-5) stopped observing DST in mid-1988.
# From Rodrigo Feher <feher@pobox.com> (1998-01-17):
# Reading "southamerica" file in timezone 7.55 I've found an
# error. Line 193 say "Territory of Acre". It is not a territory anymore
# but a state.
# From Marcos Tadeu (1998-09-27):
# <a href="http://pcdsh01.on.br/verao1.html">
# Brazilian official page
# </a>
#
# From Paul Eggert (1998-09-28):
# From Paul Eggert (1998-10-29):
# The official decrees referenced below are taken from
# <a href="http://pcdsh01.on.br/DecHV.html">
# Decretos sobre o Horario de Verao no Brasil
# </a> (1998-09-25, in Portuguese).
# </a> (1999-10-04, in Portuguese).
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
# Decree <a href="http://pcdsh01.on.br/HV20466.htm">20,466</a> (1931-10-01)
@ -355,9 +333,11 @@ Rule Brazil 1998 only - Mar 1 0:00 0 -
Rule Brazil 1998 only - Oct 11 0:00 1:00 S
Rule Brazil 1999 only - Feb 21 0:00 0 -
# Decree <a href="http://pcdsh01.on.br/figuras/HV3150.gif">3,150</a>
# (1999-08-23), adopted by same states, says only 1999-10-03 and 2000-02-27;
# after that, these rules are guesses and are quite possibly wrong,
# but they are more likely than no DST at all.
# (1999-08-23) adopted by same states.
# Decree <a href="http://pcdsh01.on.br/DecHV99.gif">3,188</a> (1999-09-30)
# adds SE, AL, PE, PR, RN, CE, PI, MA and RR.
# These give only one year's rules. After that, the rules are guesses
# and are quite possibly wrong, but are more likely than no DST at all.
Rule Brazil 1999 max - Oct Sun>=1 0:00 1:00 S
Rule Brazil 2000 max - Feb lastSun 0:00 0 -
@ -366,61 +346,69 @@ Rule Brazil 2000 max - Feb lastSun 0:00 0 -
#
# Fernando de Noronha
Zone America/Noronha -2:09:40 - LMT 1914
-2:00 Brazil FN%sT 1990 Jul
-2:00 Brazil FN%sT 1990 Sep 17
-2:00 - FNT
#
# Amapa, east Para
# Amapa (AP), east Para (PA)
Zone America/Belem -3:13:56 - LMT 1914
-3:00 Brazil BR%sT 1988 Jul
-3:00 Brazil BR%sT 1988 Sep 12
-3:00 - BRT
#
# Maranhao, Piaui, Ceara, Rio Grande do Norte, Paraiba,
# Pernambuco (except Fernando de Noronha)
# Maranhao (MA), Piaui (PI), Ceara (CE), Rio Grande do Norte (RN),
# Paraiba (PB), Pernambuco (PE) (except Fernando de Noronha)
Zone America/Fortaleza -2:34:00 - LMT 1914
-3:00 Brazil BR%sT 1990 Jul
-3:00 - BRT
#
# Tocantins
Zone America/Araguaina -3:12:48 - LMT 1914
-3:00 Brazil BR%sT 1990 Jul
-3:00 - BRT 1995 Jul
-3:00 Brazil BR%sT 1990 Sep 17
-3:00 - BRT 1999 Sep 30
-3:00 Brazil BR%sT
#
# Alagoas, Sergipe
Zone America/Maceio -2:22:52 - LMT 1914
-3:00 Brazil BR%sT 1990 Jul
-3:00 - BRT 1995 Jul
-3:00 Brazil BR%sT 1996 Jul
-3:00 - BRT
# Tocantins (TO)
Zone America/Araguaina -3:12:48 - LMT 1914
-3:00 Brazil BR%sT 1990 Sep 17
-3:00 - BRT 1995 Sep 14
-3:00 Brazil BR%sT
#
# Bahia, Goias, Distrito Federal, Minas Gerais, Espirito Santo, Rio de Janeiro,
# Sao Paulo, Parana, Santa Catarina, Rio Grande do Sul
# Alagoas (AL), Sergipe (SE)
Zone America/Maceio -2:22:52 - LMT 1914
-3:00 Brazil BR%sT 1990 Sep 17
-3:00 - BRT 1995 Oct 13
-3:00 Brazil BR%sT 1996 Sep 4
-3:00 - BRT 1999 Sep 30
-3:00 Brazil BR%sT
#
# Bahia (BA), Goias (GO), Distrito Federal (DF), Minas Gerais (MG),
# Espirito Santo (ES), Rio de Janeiro (RJ), Sao Paulo (SP), Parana (PR),
# Santa Catarina (SC), Rio Grande do Sul (RS)
Zone America/Sao_Paulo -3:06:28 - LMT 1914
-3:00 Brazil BR%sT 1963 Oct 23 00:00
-3:00 - BRST 1964
-3:00 1:00 BRST 1964
-3:00 Brazil BR%sT
#
# Mato Grosso, Mato Grosso do Sul
Zone America/Cuiaba -3:44:20 - LMT 1914
-4:00 Brazil AM%sT 1990 Jul
-4:00 - AMT
-4:00 Brazil AM%sT
#
# Roraima, west Para, Rondonia
# west Para (PA), Rondonia (RO)
Zone America/Porto_Velho -4:15:36 - LMT 1914
-4:00 Brazil AM%sT 1988 Jul
-4:00 Brazil AM%sT 1988 Sep 12
-4:00 - AMT
#
# Amazonas
# Roraima (RR)
Zone America/Boa_Vista -4:02:40 - LMT 1914
-4:00 Brazil AM%sT 1988 Sep 12
-4:00 - AMT 1999 Sep 30
-4:00 Brazil AM%sT
#
# Amazonas (AM)
Zone America/Manaus -4:00:04 - LMT 1914
-4:00 Brazil AM%sT 1988 Jul
-4:00 - AMT 1993 Jul
-4:00 Brazil AM%sT 1994 Jul
-4:00 Brazil AM%sT 1988 Sep 12
-4:00 - AMT 1993 Sep 28
-4:00 Brazil AM%sT 1994 Sep 22
-4:00 - AMT
#
# Acre
# Acre (AC)
# Rio_Branco is too ambiguous, since there's a Rio Branco in Uruguay too.
Zone America/Porto_Acre -4:31:12 - LMT 1914
-5:00 Brazil AC%sT 1988 Jul
-5:00 Brazil AC%sT 1988 Sep 12
-5:00 - ACT
#
# Martin Vaz and Trinidade are like America/Noronha.
@ -452,7 +440,7 @@ Rule Chile 1999 only - Apr 4 0:00 0 -
Rule Chile 1999 max - Oct Sun>=9 0:00 1:00 S
Rule Chile 2000 max - Mar Sun>=9 0:00 0 -
# IATA SSIM anomalies: (1990-09) says 1990-09-16; (1992-02) says 1992-03-14;
# (1996-09) says 1998-03-08. Ignore these for now.
# (1996-09) says 1998-03-08. Ignore these.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Santiago -4:42:40 - LMT 1890
-4:42:40 - SMT 1910 # Santiago Mean Time
@ -469,9 +457,10 @@ Zone Pacific/Easter -7:17:28 - LMT 1890 # Mataveri
# Colombia
# Shanks specifies 24:00 for 1992 transition times; go with IATA,
# as it seems implausible to change clocks at midnight New Year's Eve.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule CO 1992 only - May 2 0:00 1:00 S
# Shanks (1995) estimates 1993-04-03 24:00 for this; go with IATA.
Rule CO 1992 only - Dec 31 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Bogota -4:56:20 - LMT 1884 Mar 13
@ -481,7 +470,7 @@ Zone America/Bogota -4:56:20 - LMT 1884 Mar 13
# no information; probably like America/Bogota
# Curacao
# Shanks (1995) says that Bottom and Oranjestad have been at -4:00 since
# Shanks says that Bottom and Oranjestad have been at -4:00 since
# standard time was introduced on 1912-03-02; and that Kralendijk and Rincon
# used Kralendijk Mean Time (-4:33:08) from 1912-02-02 to 1965-01-01.
# This all predates our 1970 cutoff, though.
@ -535,22 +524,14 @@ Zone America/Guyana -3:52:40 - LMT 1915 Mar # Georgetown
-4:00 - GYT
# Paraguay
# From Bob Devine (1988-01-28):
# Paraguay: First day in October to last in March. Midnight switch??
# Since 1980.
# From U. S. Naval Observatory (1989-01-19):
# PARAGUAY 4 H BEHIND UTC
# PARAGUAY 3 H BEHIND UTC OCT 1, '88-MAR 31, '89
# From Shanks (1991):
# From Paul Eggert (1999-10-29):
# Shanks (1999) says that spring transitions are from 01:00 -> 02:00,
# and autumn transitions are from 00:00 -> 23:00. Go with earlier
# editions of Shanks, and with the IATA, who say transitions occur at 00:00.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Para 1975 1978 - Oct 1 0:00 1:00 S
Rule Para 1975 1988 - Oct 1 0:00 1:00 S
Rule Para 1975 1978 - Mar 1 0:00 0 -
# Shanks says 1979 was all DST.
Rule Para 1980 1991 - Apr 1 0:00 0 -
Rule Para 1980 1988 - Oct 1 0:00 1:00 S
Rule Para 1979 1991 - Apr 1 0:00 0 -
Rule Para 1989 only - Oct 22 0:00 1:00 S
Rule Para 1990 only - Oct 1 0:00 1:00 S
Rule Para 1991 only - Oct 6 0:00 1:00 S
@ -559,9 +540,13 @@ Rule Para 1992 only - Oct 5 0:00 1:00 S
Rule Para 1993 only - Mar 31 0:00 0 -
Rule Para 1993 1995 - Oct 1 0:00 1:00 S
Rule Para 1994 1995 - Feb lastSun 0:00 0 -
Rule Para 1996 1998 - Mar 1 0:00 0 -
Rule Para 1996 only - Mar 1 0:00 0 -
# IATA SSIM (1997-09) says Mar 1; go with Shanks.
Rule Para 1997 only - Feb lastSun 0:00 0 -
Rule Para 1998 only - Mar 1 0:00 0 -
Rule Para 1996 max - Oct Sun>=1 0:00 1:00 S
Rule Para 1999 max - Feb lastSat 0:00 0 -
# IATA SSIM (1999-02) says lastSat, not lastSun; go with Shanks.
Rule Para 1999 max - Feb lastSun 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Asuncion -3:50:40 - LMT 1890
-3:50:40 - AMT 1931 Oct 10 # Asuncion Mean Time
@ -611,7 +596,7 @@ Zone America/Port_of_Spain -4:06:04 - LMT 1912 Mar 2
# Uruguay
# From Paul Eggert <eggert@twinsun.com> (1993-11-18):
# Uruguay wins the prize for the strangest peacetime manipulation of the rules.
# From Shanks (1991):
# From Shanks:
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
# Whitman gives 1923 Oct 1; go with Shanks.
Rule Uruguay 1923 only - Oct 2 0:00 0:30 HS
@ -653,10 +638,10 @@ Rule Uruguay 1988 only - Mar 14 0:00 0 -
Rule Uruguay 1988 only - Dec 11 0:00 1:00 S
Rule Uruguay 1989 only - Mar 12 0:00 0 -
Rule Uruguay 1989 only - Oct 29 0:00 1:00 S
# Shanks says no DST was observed in 1990/1 and 1991/2,
# and that 1992/3's DST was from 10-25 to 03-01. Go with IATA.
Rule Uruguay 1990 1992 - Mar Sun>=1 0:00 0 -
Rule Uruguay 1990 1991 - Oct Sun>=21 0:00 1:00 S
# Shanks's 4th edition (1995) says no DST was observed in 1990/1 and 1991/2,
# and that 1992/3's DST was from 10-25 to 03-01. Go with IATA.
Rule Uruguay 1992 only - Oct 18 0:00 1:00 S
Rule Uruguay 1993 only - Feb 28 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]

View file

@ -1,4 +1,4 @@
# @(#)zone.tab 1.15
# @(#)zone.tab 1.16
#
# TZ zone descriptions
#
@ -78,7 +78,8 @@ BR -0712-04812 America/Araguaina Tocantins
BR -0940-03543 America/Maceio Alagoas, Sergipe
BR -2332-04637 America/Sao_Paulo S & SE Brazil (BA, GO, DF, MG, ES, RJ, SP, PR, SC, RS)
BR -1535-05605 America/Cuiaba Mato Grosso, Mato Grosso do Sul
BR -0846-06354 America/Porto_Velho W Para, Rondonia, Roraima
BR -0846-06354 America/Porto_Velho W Para, Rondonia
BR +0249-06040 America/Boa_Vista Roraima
BR -0308-06001 America/Manaus Amazonas
BR -0934-06731 America/Porto_Acre Acre
BS +2505-07721 America/Nassau
@ -121,7 +122,6 @@ CL -2710-10927 Pacific/Easter Easter Island
CM +0403+00942 Africa/Douala
CN +4545+12641 Asia/Harbin north Manchuria
CN +3114+12128 Asia/Shanghai China coast
CN +2217+11409 Asia/Hong_Kong Hong Kong
CN +2934+10635 Asia/Chungking China mountains
CN +4348+08735 Asia/Urumqi Tibet & Xinjiang
CN +3929+07559 Asia/Kashgar Eastern Turkestan
@ -178,6 +178,7 @@ GT +1438-09031 America/Guatemala
GU +1328+14445 Pacific/Guam
GW +1151-01535 Africa/Bissau
GY +0648-05810 America/Guyana
HK +2217+11409 Asia/Hong_Kong
HN +1406-08713 America/Tegucigalpa
HR +4548+01558 Europe/Zagreb
HT +1832-07220 America/Port-au-Prince
@ -242,12 +243,11 @@ MT +3554+01431 Europe/Malta
MU -2010+05730 Indian/Mauritius
MV +0410+07330 Indian/Maldives
MW -1547+03500 Africa/Blantyre
MX +2105-08646 America/Cancun Eastern Time
MX +1924-09909 America/Mexico_City Central Time
MX +1924-09909 America/Mexico_City Central Time - most locations
MX +2105-08646 America/Cancun Central Time - Quintana Roo
MX +2313-10625 America/Mazatlan Mountain Time - most locations
MX +2838-10605 America/Chihuahua Mountain Time - Chihuahua
MX +3152-11637 America/Ensenada Pacific Time - most locations
MX +3232-11701 America/Tijuana Pacific Time - north Baja California
MX +3232-11701 America/Tijuana Pacific Time
MY +0310+10142 Asia/Kuala_Lumpur peninsular Malaysia
MY +0133+11020 Asia/Kuching Sabah & Sarawak
MZ -2558+03235 Africa/Maputo
@ -330,6 +330,7 @@ TK -0922-17114 Pacific/Fakaofo
TM +3757+05823 Asia/Ashkhabad
TN +3648+01011 Africa/Tunis
TO -2110+17510 Pacific/Tongatapu
TP -0833+12535 Asia/Dili
TR +4101+02858 Europe/Istanbul
TT +1039-06131 America/Port_of_Spain
TV -0831+17913 Pacific/Funafuti