Tue Jul 2 10:44:37 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* pwd/fgetpwent.c: Don't include ../nss/nss_files/files-parse.c to define parse_line function. (parse_line): #define to _nss_files_parse_pwent and add extern decl for that. * nss/nss_files/files-XXX.c (internal_getent): Return NSS_STATUS_TRYAGAIN for ERANGE error. * sysdeps/i386/strtok.S (LreturnNULL): Save current state ptr instead of null, so next round returns null again instead of bombing. Fix from drepper. * nss/nss_files/files-parse.c (LINE_PARSER): Take new first arg EOLSET. Remove ; after `ENTDATA_DECL (data)'. Truncate line at strpbrk (line, EOLSET "\n"). (ENTDATA_DECL): Put ; at end. (MIDLINE_COMMENTS): Macro removed. * nss/nss_files/files-ethers.c: Pass new argument. * nss/nss_files/files-hosts.c: Likewise. * nss/nss_files/files-network.c: Likewise. * nss/nss_files/files-parse.c: Likewise. * nss/nss_files/files-proto.c: Likewise. * nss/nss_files/files-rpc.c: Likewise. * nss/nss_files/files-service.c: Likewise. * grp/fgetgrent.c: Likewise. * pwd/fgetpwent.c: Likewise. * nss/nss_files/files-pwd.c: Get parse_line with extern decl, since fgetpwent.c already defines it. * nss/nss_files/files-grp.c: Likewise. * elf/dl-load.c (_dl_map_object): Use any object with matching l_name as well as any matching with l_libname. Fix DT_SONAME lookup to use string table properly. * elf/rtld.c (dl_main): Set _dl_rtld_map.l_name from _dl_argv[0] when invoked directly, and l_libname from that if PT_INTERP missing. Set l_name from l_libname only if not set from argv. * time/europe, time/northamerica: Updated from ADO 96i. * stdio-common/tst-ungetc.c: Include unistd.h.
This commit is contained in:
parent
eb48c9632e
commit
ffee131630
44
ChangeLog
44
ChangeLog
@ -1,5 +1,49 @@
|
||||
Tue Jul 2 10:44:37 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
|
||||
|
||||
* pwd/fgetpwent.c: Don't include ../nss/nss_files/files-parse.c to
|
||||
define parse_line function.
|
||||
(parse_line): #define to _nss_files_parse_pwent and
|
||||
add extern decl for that.
|
||||
|
||||
* nss/nss_files/files-XXX.c (internal_getent): Return
|
||||
NSS_STATUS_TRYAGAIN for ERANGE error.
|
||||
|
||||
* sysdeps/i386/strtok.S (LreturnNULL): Save current state ptr instead
|
||||
of null, so next round returns null again instead of bombing. Fix
|
||||
from drepper.
|
||||
|
||||
* nss/nss_files/files-parse.c (LINE_PARSER): Take new first arg EOLSET.
|
||||
Remove ; after `ENTDATA_DECL (data)'.
|
||||
Truncate line at strpbrk (line, EOLSET "\n").
|
||||
(ENTDATA_DECL): Put ; at end.
|
||||
(MIDLINE_COMMENTS): Macro removed.
|
||||
* nss/nss_files/files-ethers.c: Pass new argument.
|
||||
* nss/nss_files/files-hosts.c: Likewise.
|
||||
* nss/nss_files/files-network.c: Likewise.
|
||||
* nss/nss_files/files-parse.c: Likewise.
|
||||
* nss/nss_files/files-proto.c: Likewise.
|
||||
* nss/nss_files/files-rpc.c: Likewise.
|
||||
* nss/nss_files/files-service.c: Likewise.
|
||||
* grp/fgetgrent.c: Likewise.
|
||||
* pwd/fgetpwent.c: Likewise.
|
||||
* nss/nss_files/files-pwd.c: Get parse_line with extern decl, since
|
||||
fgetpwent.c already defines it.
|
||||
* nss/nss_files/files-grp.c: Likewise.
|
||||
|
||||
* elf/dl-load.c (_dl_map_object): Use any object with matching l_name
|
||||
as well as any matching with l_libname. Fix DT_SONAME lookup to use
|
||||
string table properly.
|
||||
|
||||
* elf/rtld.c (dl_main): Set _dl_rtld_map.l_name from _dl_argv[0] when
|
||||
invoked directly, and l_libname from that if PT_INTERP missing.
|
||||
Set l_name from l_libname only if not set from argv.
|
||||
|
||||
* time/europe, time/northamerica: Updated from ADO 96i.
|
||||
|
||||
Mon Jul 1 15:44:34 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
|
||||
|
||||
* stdio-common/tst-ungetc.c: Include unistd.h.
|
||||
|
||||
* inet/Makefile (routines): Change getnetbypt to getnetbyad.
|
||||
|
||||
Mon Jul 1 13:32:42 1996 Miles Bader <miles@gnu.ai.mit.edu>
|
||||
|
@ -460,11 +460,13 @@ _dl_map_object (struct link_map *loader, const char *name, int type)
|
||||
/* Look for this name among those already loaded. */
|
||||
for (l = _dl_loaded; l; l = l->l_next)
|
||||
if (! strcmp (name, l->l_libname) || /* NAME was requested before. */
|
||||
! strcmp (name, l->l_name) || /* NAME was found before. */
|
||||
/* If the requested name matches the soname of a loaded object,
|
||||
use that object. */
|
||||
(l->l_info[DT_SONAME] &&
|
||||
! strcmp (name, (const char *) (l->l_addr +
|
||||
l->l_info[DT_SONAME]->d_un.d_ptr))))
|
||||
l->l_info[DT_STRTAB]->d_un.d_ptr +
|
||||
l->l_info[DT_SONAME]->d_un.d_val))))
|
||||
{
|
||||
/* The object is already loaded.
|
||||
Just bump its reference count and return it. */
|
||||
|
18
elf/rtld.c
18
elf/rtld.c
@ -117,7 +117,6 @@ dl_main (const ElfW(Phdr) *phdr,
|
||||
{
|
||||
const ElfW(Phdr) *ph;
|
||||
struct link_map *l;
|
||||
const char *interpreter_name;
|
||||
int lazy;
|
||||
int list_only = 0;
|
||||
|
||||
@ -154,7 +153,8 @@ file you run. This is mostly of use for maintainers to test new versions\n\
|
||||
of this helper program; chances are you did not intend to run this program.\n",
|
||||
NULL);
|
||||
|
||||
interpreter_name = _dl_argv[0];
|
||||
/* Note the place where the dynamic linker actually came from. */
|
||||
_dl_rtld_map.l_name = _dl_argv[0];
|
||||
|
||||
if (! strcmp (_dl_argv[1], "--list"))
|
||||
{
|
||||
@ -182,7 +182,6 @@ of this helper program; chances are you did not intend to run this program.\n",
|
||||
l = _dl_new_object ((char *) "", "", lt_library);
|
||||
l->l_phdr = phdr;
|
||||
l->l_phnum = phent;
|
||||
interpreter_name = 0;
|
||||
l->l_entry = *user_entry;
|
||||
}
|
||||
|
||||
@ -216,10 +215,14 @@ of this helper program; chances are you did not intend to run this program.\n",
|
||||
dlopen call or DT_NEEDED entry, for something that wants to link
|
||||
against the dynamic linker as a shared library, will know that
|
||||
the shared object is already loaded. */
|
||||
interpreter_name = (void *) l->l_addr + ph->p_vaddr;
|
||||
_dl_rtld_map.l_libname = (const char *) l->l_addr + ph->p_vaddr;
|
||||
break;
|
||||
}
|
||||
assert (interpreter_name); /* How else did we get here? */
|
||||
if (! _dl_rtld_map.l_libname && _dl_rtld_map.l_name)
|
||||
/* We were invoked directly, so the program might not have a PT_INTERP. */
|
||||
_dl_rtld_map.l_libname = _dl_rtld_map.l_name;
|
||||
else
|
||||
assert (_dl_rtld_map.l_libname); /* How else did we get here? */
|
||||
|
||||
/* Extract the contents of the dynamic section for easy access. */
|
||||
elf_get_dynamic_info (l->l_ld, l->l_info);
|
||||
@ -229,7 +232,10 @@ of this helper program; chances are you did not intend to run this program.\n",
|
||||
|
||||
/* Put the link_map for ourselves on the chain so it can be found by
|
||||
name. */
|
||||
_dl_rtld_map.l_name = (char *) _dl_rtld_map.l_libname = interpreter_name;
|
||||
if (! _dl_rtld_map.l_name)
|
||||
/* If not invoked directly, the dynamic linker shared object file was
|
||||
found by the PT_INTERP name. */
|
||||
_dl_rtld_map.l_name = (char *) _dl_rtld_map.l_libname;
|
||||
_dl_rtld_map.l_type = lt_library;
|
||||
while (l->l_next)
|
||||
l = l->l_next;
|
||||
|
@ -30,11 +30,11 @@ struct grent_data {};
|
||||
#define TRAILING_LIST_SEPARATOR_P(c) ((c) == ',')
|
||||
#include "../nss/nss_files/files-parse.c"
|
||||
LINE_PARSER
|
||||
(
|
||||
(,
|
||||
STRING_FIELD (result->gr_name, ISCOLON, 0);
|
||||
STRING_FIELD (result->gr_passwd, ISCOLON, 0);
|
||||
INT_FIELD (result->gr_gid, ISCOLON, 0, 10,);
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
/* Read one entry from the given stream. */
|
||||
|
@ -144,7 +144,7 @@ internal_getent (struct STRUCTURE *result,
|
||||
if (buflen < (int) sizeof *data + 1)
|
||||
{
|
||||
errno = ERANGE;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
return NSS_STATUS_TRYAGAIN;
|
||||
}
|
||||
|
||||
do
|
||||
|
@ -33,8 +33,7 @@ struct etherent_data {};
|
||||
#define DATAFILE "/etc/ethers"
|
||||
#include "files-parse.c"
|
||||
LINE_PARSER
|
||||
(
|
||||
MIDLINE_COMMENTS;
|
||||
("#",
|
||||
/* Read the ethernet address: 6 x 8bit hexadecimal number. */
|
||||
{
|
||||
size_t cnt;
|
||||
|
@ -27,12 +27,10 @@ struct grent_data {};
|
||||
#define TRAILING_LIST_MEMBER gr_mem
|
||||
#define TRAILING_LIST_SEPARATOR_P(c) ((c) == ',')
|
||||
#include "files-parse.c"
|
||||
LINE_PARSER
|
||||
(
|
||||
STRING_FIELD (result->gr_name, ISCOLON, 0);
|
||||
STRING_FIELD (result->gr_passwd, ISCOLON, 0);
|
||||
INT_FIELD (result->gr_gid, ISCOLON, 0, 10,);
|
||||
)
|
||||
/* Our parser function is already defined in fgetgrent.c, so use that.
|
||||
to parse lines from the database file. */
|
||||
extern int parse_line (char *line, struct STRUCTURE *result,
|
||||
void *buffer, int buflen);
|
||||
|
||||
#include "files-XXX.c"
|
||||
|
||||
|
@ -43,52 +43,53 @@ struct hostent_data
|
||||
#define TRAILING_LIST_SEPARATOR_P isspace
|
||||
#include "files-parse.c"
|
||||
LINE_PARSER
|
||||
({
|
||||
char *addr;
|
||||
("#",
|
||||
{
|
||||
char *addr;
|
||||
|
||||
STRING_FIELD (addr, isspace, 1);
|
||||
STRING_FIELD (addr, isspace, 1);
|
||||
|
||||
/* Parse address. */
|
||||
if ((_res.options & RES_USE_INET6)
|
||||
&& inet_pton (AF_INET6, addr, entdata->host_addr) > 0)
|
||||
{
|
||||
result->h_addrtype = AF_INET6;
|
||||
result->h_length = IN6ADDRSZ;
|
||||
}
|
||||
else if (inet_pton (AF_INET, addr, entdata->host_addr) > 0)
|
||||
{
|
||||
if (_res.options & RES_USE_INET6)
|
||||
{
|
||||
map_v4v6_address ((char *) entdata->host_addr,
|
||||
(char *) entdata->host_addr);
|
||||
result->h_addrtype = AF_INET6;
|
||||
result->h_length = IN6ADDRSZ;
|
||||
}
|
||||
else
|
||||
{
|
||||
result->h_addrtype = AF_INET;
|
||||
result->h_length = INADDRSZ;
|
||||
}
|
||||
}
|
||||
else
|
||||
/* Illegal address: ignore line. */
|
||||
return 0;
|
||||
/* Parse address. */
|
||||
if ((_res.options & RES_USE_INET6)
|
||||
&& inet_pton (AF_INET6, addr, entdata->host_addr) > 0)
|
||||
{
|
||||
result->h_addrtype = AF_INET6;
|
||||
result->h_length = IN6ADDRSZ;
|
||||
}
|
||||
else if (inet_pton (AF_INET, addr, entdata->host_addr) > 0)
|
||||
{
|
||||
if (_res.options & RES_USE_INET6)
|
||||
{
|
||||
map_v4v6_address ((char *) entdata->host_addr,
|
||||
(char *) entdata->host_addr);
|
||||
result->h_addrtype = AF_INET6;
|
||||
result->h_length = IN6ADDRSZ;
|
||||
}
|
||||
else
|
||||
{
|
||||
result->h_addrtype = AF_INET;
|
||||
result->h_length = INADDRSZ;
|
||||
}
|
||||
}
|
||||
else
|
||||
/* Illegal address: ignore line. */
|
||||
return 0;
|
||||
|
||||
/* Store a pointer to the address in the expected form. */
|
||||
entdata->h_addr_ptrs[0] = entdata->host_addr;
|
||||
entdata->h_addr_ptrs[1] = NULL;
|
||||
result->h_addr_list = entdata->h_addr_ptrs;
|
||||
/* Store a pointer to the address in the expected form. */
|
||||
entdata->h_addr_ptrs[0] = entdata->host_addr;
|
||||
entdata->h_addr_ptrs[1] = NULL;
|
||||
result->h_addr_list = entdata->h_addr_ptrs;
|
||||
|
||||
/* If we need the host entry in IPv6 form change it now. */
|
||||
if (_res.options & RES_USE_INET6)
|
||||
{
|
||||
char *bufptr = data->linebuffer;
|
||||
int buflen = (char *) data + datalen - bufptr;
|
||||
map_v4v6_hostent (result, &bufptr, &buflen);
|
||||
}
|
||||
/* If we need the host entry in IPv6 form change it now. */
|
||||
if (_res.options & RES_USE_INET6)
|
||||
{
|
||||
char *bufptr = data->linebuffer;
|
||||
int buflen = (char *) data + datalen - bufptr;
|
||||
map_v4v6_hostent (result, &bufptr, &buflen);
|
||||
}
|
||||
|
||||
STRING_FIELD (result->h_name, isspace, 1);
|
||||
})
|
||||
STRING_FIELD (result->h_name, isspace, 1);
|
||||
})
|
||||
|
||||
#include "files-XXX.c"
|
||||
|
||||
|
@ -30,15 +30,16 @@ struct netent_data {};
|
||||
#define TRAILING_LIST_SEPARATOR_P isspace
|
||||
#include "files-parse.c"
|
||||
LINE_PARSER
|
||||
({
|
||||
char *addr;
|
||||
("#",
|
||||
{
|
||||
char *addr;
|
||||
|
||||
STRING_FIELD (result->n_name, isspace, 1);
|
||||
STRING_FIELD (result->n_name, isspace, 1);
|
||||
|
||||
STRING_FIELD (addr, isspace, 1);
|
||||
result->n_net = inet_network (addr);
|
||||
STRING_FIELD (addr, isspace, 1);
|
||||
result->n_net = inet_network (addr);
|
||||
|
||||
})
|
||||
})
|
||||
|
||||
#include "files-XXX.c"
|
||||
|
||||
|
@ -35,7 +35,7 @@ struct parser_data
|
||||
{
|
||||
#ifdef ENTDATA
|
||||
struct ENTDATA entdata;
|
||||
#define ENTDATA_DECL(data) struct ENTDATA *const entdata = &data->entdata
|
||||
#define ENTDATA_DECL(data) struct ENTDATA *const entdata = &data->entdata;
|
||||
#else
|
||||
#define ENTDATA_DECL(data)
|
||||
#endif
|
||||
@ -52,26 +52,21 @@ struct parser_data
|
||||
#define parse_line CONCAT(_nss_files_parse_,ENTNAME)
|
||||
#endif
|
||||
|
||||
#define LINE_PARSER(BODY) \
|
||||
#define LINE_PARSER(EOLSET, BODY) \
|
||||
parser_stclass int \
|
||||
parse_line (char *line, struct STRUCTURE *result, \
|
||||
struct parser_data *data, int datalen) \
|
||||
{ \
|
||||
ENTDATA_DECL (data); \
|
||||
ENTDATA_DECL (data) \
|
||||
char *p = strpbrk (line, EOLSET "\n"); \
|
||||
if (p) \
|
||||
*p = '\0'; \
|
||||
BODY; \
|
||||
TRAILING_LIST_PARSER; \
|
||||
return 1; \
|
||||
}
|
||||
|
||||
|
||||
/* Comments can come mid-line; trim the line at the first # seen. */
|
||||
#define MIDLINE_COMMENTS \
|
||||
{ \
|
||||
char *p = strchr (line, '#'); \
|
||||
if (p) \
|
||||
*p = '\0'; \
|
||||
}
|
||||
|
||||
#define STRING_FIELD(variable, terminator_p, swallow) \
|
||||
{ \
|
||||
variable = line; \
|
||||
|
@ -29,8 +29,7 @@ struct protoent_data {};
|
||||
#define TRAILING_LIST_SEPARATOR_P isspace
|
||||
#include "files-parse.c"
|
||||
LINE_PARSER
|
||||
(
|
||||
MIDLINE_COMMENTS;
|
||||
("#",
|
||||
STRING_FIELD (result->p_name, isspace, 1);
|
||||
INT_FIELD (result->p_proto, isspace, 1, 10,);
|
||||
)
|
||||
|
@ -25,19 +25,10 @@ Cambridge, MA 02139, USA. */
|
||||
struct pwent_data {};
|
||||
|
||||
#include "files-parse.c"
|
||||
LINE_PARSER
|
||||
({
|
||||
STRING_FIELD (result->pw_name, ISCOLON, 0);
|
||||
STRING_FIELD (result->pw_passwd, ISCOLON, 0);
|
||||
INT_FIELD (result->pw_uid, ISCOLON, 0, 10,);
|
||||
INT_FIELD (result->pw_gid, ISCOLON, 0, 10,);
|
||||
STRING_FIELD (result->pw_gecos, ISCOLON, 0);
|
||||
STRING_FIELD (result->pw_dir, ISCOLON, 0);
|
||||
result->pw_shell = line;
|
||||
line = strchr (line, '\n');
|
||||
if (line)
|
||||
*line = '\0';
|
||||
})
|
||||
/* Our parser function is already defined in fgetpwent.c, so use that.
|
||||
to parse lines from the database file. */
|
||||
extern int parse_line (char *line, struct STRUCTURE *result,
|
||||
void *buffer, int buflen);
|
||||
|
||||
#include "files-XXX.c"
|
||||
|
||||
|
@ -29,8 +29,7 @@ struct rpcent_data {};
|
||||
#define TRAILING_LIST_SEPARATOR_P isspace
|
||||
#include "files-parse.c"
|
||||
LINE_PARSER
|
||||
(
|
||||
MIDLINE_COMMENTS;
|
||||
("#",
|
||||
STRING_FIELD (result->r_name, isspace, 1);
|
||||
INT_FIELD (result->r_number, isspace, 1, 10,);
|
||||
)
|
||||
|
@ -31,8 +31,7 @@ struct servent_data {};
|
||||
#include "files-parse.c"
|
||||
#define ISSLASH(c) ((c) == '/')
|
||||
LINE_PARSER
|
||||
(
|
||||
MIDLINE_COMMENTS;
|
||||
("#",
|
||||
STRING_FIELD (result->s_name, isspace, 1);
|
||||
INT_FIELD (result->s_port, ISSLASH, 10, 0, htons);
|
||||
STRING_FIELD (result->s_proto, isspace, 1);
|
||||
|
@ -28,7 +28,7 @@ struct pwent_data {};
|
||||
|
||||
#include "../nss/nss_files/files-parse.c"
|
||||
LINE_PARSER
|
||||
(
|
||||
(,
|
||||
STRING_FIELD (result->pw_name, ISCOLON, 0);
|
||||
STRING_FIELD (result->pw_passwd, ISCOLON, 0);
|
||||
INT_FIELD (result->pw_uid, ISCOLON, 0, 10,);
|
||||
@ -36,7 +36,7 @@ LINE_PARSER
|
||||
STRING_FIELD (result->pw_gecos, ISCOLON, 0);
|
||||
STRING_FIELD (result->pw_dir, ISCOLON, 0);
|
||||
result->pw_shell = line;
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
/* Read one entry from the given stream. */
|
||||
|
@ -269,15 +269,15 @@ L11:
|
||||
LreturnNULL:
|
||||
xorl %eax, %eax
|
||||
|
||||
/* Store NULL as pointer to the next character. */
|
||||
/* Store current pointer for next round. */
|
||||
#ifdef USE_AS_STRTOK_R
|
||||
movl 12(%esp), %ecx
|
||||
movl %eax, (%ecx)
|
||||
movl %edx, (%ecx)
|
||||
#else
|
||||
# ifndef PIC
|
||||
movl %eax, save_ptr
|
||||
movl %edx, save_ptr
|
||||
# else
|
||||
movl %eax, save_ptr@GOTOFF(%ebx)
|
||||
movl %edx, save_ptr@GOTOFF(%ebx)
|
||||
popl %ebx
|
||||
# endif
|
||||
#endif
|
||||
|
77
time/europe
77
time/europe
@ -1,4 +1,4 @@
|
||||
# @(#)europe 7.37
|
||||
# @(#)europe 7.38
|
||||
|
||||
# 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
|
||||
@ -125,6 +125,15 @@
|
||||
# transition date for London, namely 1847 Sep 22. We don't know as much
|
||||
# about Dublin, so we use 1880 Aug 2, the legal transition time.
|
||||
|
||||
# From Paul Eggert (1996-06-12):
|
||||
# Summer Time was first seriously proposed by William Willett (1857-1915),
|
||||
# a London builder who circulated a pamphlet ``Waste of Daylight'' (1907)
|
||||
# that proposed advancing clocks 20 minutes on each of four Sundays in April,
|
||||
# and retarding them by the same amount on four Sundays in September.
|
||||
# A bill was drafted in 1909 and introduced in Parliament several times,
|
||||
# but it met with ridicule and opposition, especially from farming interests.
|
||||
# One-hour Summer Time was eventually adopted as a wartime measure in 1916.
|
||||
|
||||
# From Arthur David Olson (January 19, 1989):
|
||||
#
|
||||
# A source at the British Information Office in New York avers that it's
|
||||
@ -418,6 +427,22 @@
|
||||
# who provided the wartime regulations and a snippet of Hansard explaining
|
||||
# why double summer time started on a Monday in 1945 (it was Easter).
|
||||
|
||||
# From Peter Ilieve <peter@aldie.co.uk> (1996-05-29):
|
||||
# I have now got a copy of the British Standard Time Act 1968.
|
||||
# It says (S4(2)) that it expires at 02:00 GMT on 31 October 1971 unless
|
||||
# an Order in Council was passed in Parliament to make the Act permanent.
|
||||
# No Order was passed, so 02:00 1971-10-31 it is...
|
||||
#
|
||||
# Interestingly, it says baldly `This Act shall come into force on
|
||||
# 27 October 1968', without giving a time. As S1 of the Act merely
|
||||
# stated that `The time for general purposes in the United Kingdom
|
||||
# (to be known as British standard time) shall be one hour in
|
||||
# advance of Greenwich mean time throughout the year; ...' you could
|
||||
# possibly argue that the start time of BStandardT was 00:00 1968-10-27,
|
||||
# especially as the Act repealed the Summer Time Acts 1916--1947 in toto,
|
||||
# thereby destroying the authority of the Summer Time Order specifying
|
||||
# summer time in 1968....
|
||||
|
||||
# From Peter Ilieve <peter@memex.co.uk> (November 18, 1993)
|
||||
#
|
||||
# Here is a revised version of my tabrules file for the perl script I sent
|
||||
@ -617,7 +642,7 @@
|
||||
# To maintain strict historical accuracy you could start a new UK ending rule
|
||||
# of Oct Sun>=22 in 1990.
|
||||
|
||||
# From Paul Eggert <eggert@twinsun.com> (November 18, 1993):
|
||||
# From Paul Eggert <eggert@twinsun.com> (1996-06-12):
|
||||
#
|
||||
# As Ilieve remarks, the date `20 April 1924' in the table of ``Summer Time: A
|
||||
# Consultation Document'' (Cm 722, 1989) table is a transcription error;
|
||||
@ -637,15 +662,28 @@
|
||||
# It actually just had one transition.
|
||||
# * Northern Ireland used single daylight savings time throughout WW II.
|
||||
# Actually, it conformed to Britain.
|
||||
# * GB-Eire changed standard time to 1 hour ahead of GMT on 1968-02-18.
|
||||
# Actually, that date saw the usual switch to summer time.
|
||||
# Standard time was not changed until 1968-10-27 (the clocks didn't change).
|
||||
#
|
||||
# The following claim by Shanks is possible though doubtful;
|
||||
# we'll ignore it for now.
|
||||
# The following claims by Shanks are possible though doubtful;
|
||||
# we'll ignore them for now.
|
||||
# * Jersey, Guernsey, and the Isle of Man did not switch from GMT
|
||||
# to daylight savings time until 1921 Apr 3, when they began to
|
||||
# conform with Great Britain.
|
||||
# * Dublin's 1971-10-31 switch was at 02:00, even though London's was 03:00.
|
||||
#
|
||||
#
|
||||
# Whitman says Dublin Mean Time was -0:25:21, which is more precise than Shanks.
|
||||
|
||||
# From an anonymous contributor (1996-06-02):
|
||||
# The law governing time in Ireland is under Statutory Instrument SI 395/94,
|
||||
# which gives force to European Union 7th Council Directive # 94/21/EC.
|
||||
# Under this directive, the Minister for Justice in Ireland makes appropriate
|
||||
# regulations. I spoke this morning with the Secretary of the Department of
|
||||
# Justice (tel +353 1 678 9711) who confirmed to me that the correct name is
|
||||
# "Irish Summer Time", abbreviated to "IST".
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
# 1916 to 1925--irregular
|
||||
Rule GB-Eire 1916 only - May 21 2:00s 1:00 BST
|
||||
@ -710,11 +748,11 @@ Rule GB-Eire 1958 1959 - Apr Sun>=16 2:00s 1:00 BST
|
||||
Rule GB-Eire 1960 only - Apr 10 2:00s 1:00 BST
|
||||
Rule GB-Eire 1961 1963 - Mar lastSun 2:00s 1:00 BST
|
||||
Rule GB-Eire 1964 1967 - Mar Sun>=19 2:00s 1:00 BST
|
||||
Rule GB-Eire 1968 only - Feb 18 2:00s 1:00 BST
|
||||
Rule GB-Eire 1972 1980 - Mar Sun>=16 2:00s 1:00 BST
|
||||
# 1953 to 1980, ending rules
|
||||
Rule GB-Eire 1953 1960 - Oct Sun>=1 2:00s 0 GMT
|
||||
Rule GB-Eire 1961 1967 - Oct Sun>=23 2:00s 0 GMT
|
||||
Rule GB-Eire 1971 only - Oct 31 3:00 0 GMT
|
||||
Rule GB-Eire 1961 1968 - Oct Sun>=23 2:00s 0 GMT
|
||||
Rule GB-Eire 1972 1980 - Oct Sun>=23 2:00s 0 GMT
|
||||
# 1981 on
|
||||
Rule GB-Eire 1981 1995 - Mar lastSun 1:00u 1:00 BST
|
||||
@ -724,29 +762,30 @@ Rule GB-Eire 1990 1995 - Oct Sun>=22 1:00u 0 GMT
|
||||
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Europe/London -0:01:15 - LMT 1847 Sep 22
|
||||
0:00 GB-Eire %s 1968 Feb 18 2:00
|
||||
1:00 - BST 1971 Oct 31 2:00
|
||||
0:00 GB-Eire %s 1968 Oct 27
|
||||
1:00 - BST 1971 Oct 31 2:00u
|
||||
0:00 GB-Eire %s 1996
|
||||
0:00 EU GMT/BST
|
||||
Zone Europe/Belfast -0:23:40 - LMT 1880 Aug 2
|
||||
-0:25:21 - DMT 1916 May 21 2:00 # Dublin MT
|
||||
-0:25:21 1:00 DST 1916 Oct 1 3:00
|
||||
0:00 GB-Eire %s 1968 Feb 18 2:00
|
||||
1:00 - BST 1971 Oct 31 3:00
|
||||
0:00 GB-Eire %s 1968 Oct 27
|
||||
1:00 - BST 1971 Oct 31 2:00u
|
||||
0:00 GB-Eire %s 1996
|
||||
0:00 EU GMT/BST
|
||||
Zone Europe/Dublin -0:25:21 - LMT 1880 Aug 2
|
||||
-0:25:21 - DMT 1916 May 21 2:00 # Dublin MT
|
||||
-0:25:21 1:00 DST 1916 Oct 1 3:00
|
||||
0:00 GB-Eire %s 1940 Feb 25 2:00
|
||||
0:00 1:00 BST 1946 Oct 6 2:00
|
||||
0:00 GB-Eire %s 1921 Dec 6
|
||||
0:00 GB-Eire GMT/IST 1940 Feb 25 2:00
|
||||
0:00 1:00 IST 1946 Oct 6 2:00
|
||||
0:00 - GMT 1947 Mar 16 2:00
|
||||
0:00 1:00 BST 1947 Nov 2 2:00
|
||||
0:00 1:00 IST 1947 Nov 2 2:00
|
||||
0:00 - GMT 1948 Apr 18 2:00
|
||||
0:00 GB-Eire %s 1968 Feb 18 2:00
|
||||
1:00 - BST 1971 Oct 31 3:00
|
||||
0:00 GB-Eire %s 1996
|
||||
0:00 EU GMT/BST
|
||||
0:00 GB-Eire GMT/IST 1968 Oct 27
|
||||
1:00 - IST 1971 Oct 31 2:00u
|
||||
0:00 GB-Eire GMT/IST 1996
|
||||
0:00 EU GMT/IST
|
||||
|
||||
###############################################################################
|
||||
|
||||
@ -1294,11 +1333,11 @@ Zone Atlantic/Reykjavik -1:27:24 - LMT 1837
|
||||
# Italy
|
||||
# From Paul Eggert (1996-05-06):
|
||||
# For Italian DST we have three sources: Shanks, Whitman, and F. Pollastri
|
||||
# <http://pisolo.cstv.to.cnr.it/toi/it/ienitlt.html> (see `FP' below),
|
||||
# <URL:http://pisolo.cstv.to.cnr.it/toi/uk/ienitlt.html> (see `FP' below),
|
||||
# taken from a publication of the Italian National Electrotechnical Institute.
|
||||
# When the three sources disagree, guess who's right, as follows:
|
||||
#
|
||||
# year FP Shanks (S) Whitman (W) Go with:
|
||||
# year FP Shanks (S) Whitman (W) Go with:
|
||||
# 1916 06-03 06-03 24:00 06-03 00:00 FP & W
|
||||
# 09-30 09-30 24:00 09-30 01:00 FP; guess 24:00s
|
||||
# 1917 04-01 03-31 24:00 03-31 00:00 FP & S
|
||||
|
@ -1,4 +1,4 @@
|
||||
# @(#)northamerica 7.25
|
||||
# @(#)northamerica 7.26
|
||||
# also includes Central America and the Caribbean
|
||||
|
||||
# This data is by no means authoritative; if you think you know better,
|
||||
@ -21,6 +21,24 @@
|
||||
# Make sure you have the errata sheet; the book is somewhat useless without it.
|
||||
# It is the source for the US and Puerto Rico entries below.
|
||||
|
||||
# From Paul Eggert (1996-06-12):
|
||||
# Daylight Saving Time was first suggested as a joke by Benjamin Franklin
|
||||
# in his whimsical essay ``Turkey vs Eagle, McCauley is my Beagle'' (1784).
|
||||
# Not everyone is happy with the results:
|
||||
#
|
||||
# I don't really care how time is reckoned so long as there is some
|
||||
# agreement about it, but I object to being told that I am saving
|
||||
# daylight when my reason tells me that I am doing nothing of the kind.
|
||||
# I even object to the implication that I am wasting something
|
||||
# valuable if I stay in bed after the sun has risen. As an admirer
|
||||
# of moonlight I resent the bossy insistence of those who want to
|
||||
# reduce my time for enjoying it. At the back of the Daylight Saving
|
||||
# scheme I detect the bony, blue-fingered hand of Puritanism, eager
|
||||
# to push people into bed earlier, and get them up earlier, to make
|
||||
# them healthy, wealthy and wise in spite of themselves.
|
||||
#
|
||||
# -- Robertson Davies, The Diary of Samuel Marchbanks (1947), XIX, Sunday
|
||||
|
||||
# From Arthur David Olson:
|
||||
# US Daylight Saving Time ended on the last Sunday of *October* in 1974.
|
||||
# See, for example, the front page of the Saturday, October 26, 1974
|
||||
@ -463,78 +481,6 @@ Link Pacific/Honolulu HST
|
||||
|
||||
# Canada
|
||||
|
||||
# Canada is reportedly lots easier than the US--leastways since 1951.
|
||||
# I don't know what they did before then.
|
||||
# 4.3BSD claims that it's perfectly regular.
|
||||
# According to a posting in "comp.bugs.misc", "comp.unix.wizards", etc.
|
||||
# on February 8, 1987, by Dave Sherman of the Law Society of Upper Canada,
|
||||
# "...Canada (well, Ontario and at least some of the other provinces) are
|
||||
# adopting the new daylight savings time rules...". We assume all of
|
||||
# Canada is doing so.
|
||||
|
||||
# From Bob Devine (January 28, 1988):
|
||||
# All of Canada did have DST from your first rule except Saskatchewan.
|
||||
# Which parts did not observe DST is hard to pinpoint but most of the
|
||||
# province follows the rules.
|
||||
# NOTE: those that didn't have DST for that rule, also
|
||||
# probably did not have it for several years previous.
|
||||
|
||||
# From U. S. Naval Observatory (January 19, 1989):
|
||||
# CANADA NEW FDL 3.5H BEHIND UTC ST.JOHN'S
|
||||
# CANADA NEW FDL 1.5H BEHIND UTC APR 3 - OCT 29
|
||||
# CANADA ATLANTIC 4 H BEHIND UTC HALIFAX
|
||||
# CANADA ATLANTIC 3 H BEHIND UTC APR 3 - OCT 29
|
||||
# CANADA EASTERN 5 H BEHIND UTC TORONTO, MONTREAL, OTTAWA
|
||||
# CANADA EASTERN 4 H BEHIND UTC APR 3 - OCT 29
|
||||
# CANADA CENTRAL 6 H BEHIND UTC REGINA, WINNIPEG
|
||||
# CANADA CENTRAL 5 H BEHIND UTC APR 3 - OCT 29
|
||||
# CANADA MOUNTAIN 7 H BEHIND UTC CALGARY, EDMONTON
|
||||
# CANADA MOUNTAIN 6 H BEHIND UTC APR 3 - OCT 29
|
||||
# CANADA PACIFIC 8 H BEHIND UTC VANCOUVER
|
||||
# CANADA PACIFIC 7 H BEHIND UTC APR 3 - OCT 29
|
||||
# CANADA YUKON SAME AS PACIFIC DAWSON
|
||||
|
||||
# From Arthur David Olson (January 21, 1989):
|
||||
# April 3 fell on a Sunday in 1988; October 29 fell on a Sunday in 1989. Ahem.
|
||||
# Note claim that there's double DST in Newfoundland and that Yukon should
|
||||
# be same as Pacific.
|
||||
|
||||
# From W. Jones (jones@skdad.usask.ca) (November 6, 1992):
|
||||
# The. . .below is based on information I got from our law library, the
|
||||
# provincial archives, and the provincial Community Services department.
|
||||
# A precise history would require digging through newspaper archives, and
|
||||
# since you didn't say what you wanted, I didn't bother.
|
||||
#
|
||||
# Saskatchewan is split by a time zone meridian (105W) and over the years
|
||||
# the boundary became pretty ragged as communities near it reevaluated
|
||||
# their affiliations in one direction or the other. In 1965 a provincial
|
||||
# referendum favoured legislating common time practices.
|
||||
#
|
||||
# On 15 April 1966 the Time Act (c. T-14, Revised Statutes of
|
||||
# Saskatchewan 1978) was proclaimed, and established that the eastern
|
||||
# part of Saskatchewan would use CST year round, that districts in
|
||||
# northwest Saskatchewan would by default follow CST but could opt to
|
||||
# follow Mountain Time rules (thus 1 hour difference in the winter and
|
||||
# zero in the summer), and that districts in southwest Saskatchewan would
|
||||
# by default follow MT but could opt to follow CST.
|
||||
#
|
||||
# It took a few years for the dust to settle (I know one story of a town
|
||||
# on one time zone having its school in another, such that a mom had to
|
||||
# serve her family lunch in two shifts), but presently it seems that only
|
||||
# a few towns on the border with Alberta (e.g. Lloydminster) follow MT
|
||||
# rules any more; all other districts appear to have used CST year round
|
||||
# since sometime in the 1960s.
|
||||
#
|
||||
# Here's how I would summarize things. Establish a "Saskatchewan" CST
|
||||
# time zone, and note that it officially exists as of 15 April 1966. Any
|
||||
# current exceptions can put themselves in the "Mountain" zone, since
|
||||
# those are the rules they follow. Any past exceptions can be forgotten,
|
||||
# since that's what those who live here have done.
|
||||
|
||||
# From Arthur David Olson (November 21, 1992):
|
||||
# East-Saskatchewan kept to avoid problems for folks using that zone by name;
|
||||
# plain Saskatchewan added.
|
||||
|
||||
# From Alain LaBont<e'> <ALB@immedia.ca> (1994-11-14):
|
||||
# I post here the time zone abbreviations standardized in Canada
|
||||
# for both English and French in the CAN/CSA-Z234.4-89 standard....
|
||||
@ -567,7 +513,21 @@ Link Pacific/Honolulu HST
|
||||
# From Paul Eggert <eggert@twinsun.com> (1994-11-22):
|
||||
# Alas, this sort of thing must be handled by localization software.
|
||||
|
||||
# From Shanks (1991):
|
||||
# The data for Canada are all from Shanks (1991).
|
||||
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule Canada 1918 only - Apr 14 2:00 1:00 D
|
||||
Rule Canada 1918 only - Oct 31 2:00 0 S
|
||||
Rule Canada 1942 only - Feb 9 2:00 1:00 D
|
||||
Rule Canada 1945 only - Sep 30 2:00 0 S
|
||||
Rule Canada 1974 1986 - Apr lastSun 2:00 1:00 D
|
||||
Rule Canada 1974 max - Oct lastSun 2:00 0 S
|
||||
Rule Canada 1987 max - Apr Sun>=1 2:00 1:00 D
|
||||
|
||||
|
||||
# Newfoundland
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule StJohns 1917 1918 - Apr Sun>=8 2:00 1:00 D
|
||||
Rule StJohns 1917 only - Sep 17 2:00 0 S
|
||||
@ -606,6 +566,16 @@ Zone America/St_Johns -3:30:52 - LMT 1884
|
||||
-3:31 StJohns N%sT 1935 Mar 30
|
||||
-3:30 StJohns N%sT
|
||||
|
||||
|
||||
# Labrador, New Brunswick, Nova Scotia, Prince Edward I
|
||||
|
||||
# From Paul Eggert (1996-06-12):
|
||||
# Shanks writes that since 1970 most of this region has been like Halifax.
|
||||
# Many locales did not observe peacetime DST until 1972;
|
||||
# Glace Bay, NS is the largest that we know of.
|
||||
# Shanks also writes that Liverpool, NS was the only town in Canada to observe
|
||||
# DST in 1971 but not 1970; for now we'll assume this is a typo.
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule Halifax 1916 only - Apr 1 0:00 1:00 D
|
||||
Rule Halifax 1916 only - Oct 1 0:00 0 S
|
||||
@ -650,6 +620,21 @@ Rule Halifax 1987 max - Apr Sun>=1 2:00 1:00 D
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone America/Halifax -4:14:24 - LMT 1902 Jun 15
|
||||
-4:00 Halifax A%sT
|
||||
Zone America/Glace_Bay -3:59:48 - LMT 1902 Jun 15
|
||||
-4:00 Canada A%sT 1953
|
||||
-4:00 Halifax A%sT 1954
|
||||
-4:00 - AST 1972
|
||||
-4:00 Halifax A%sT
|
||||
|
||||
|
||||
# Ontario, Quebec
|
||||
|
||||
# From Paul Eggert (1996-06-12):
|
||||
# Shanks writes that since 1970 most of this region has been like Montreal.
|
||||
# Thunder Bay skipped DST in 1973.
|
||||
# Many smaller locales did not observe peacetime DST until 1974;
|
||||
# Nipigon (EST) and Rainy River (CST) are the largest that we know of.
|
||||
# Far west Ontario is like Winnipeg; far east Quebec is like Halifax.
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule Mont 1917 only - Mar 25 2:00 1:00 D
|
||||
@ -683,6 +668,18 @@ Rule Mont 1987 max - Apr Sun>=1 2:00 1:00 D
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone America/Montreal -4:54:16 - LMT 1884
|
||||
-5:00 Mont E%sT
|
||||
Zone America/Thunder_Bay -5:57:00 - LMT 1895
|
||||
-5:00 Canada E%sT 1970
|
||||
-5:00 Mont E%sT 1973
|
||||
-5:00 - EST 1974
|
||||
-5:00 Canada E%sT
|
||||
Zone America/Nipigon -5:53:04 - LMT 1895
|
||||
-5:00 Canada E%sT
|
||||
Zone America/Rainy_River -6:17:56 - LMT 1895
|
||||
-6:00 Canada C%sT
|
||||
|
||||
|
||||
# Manitoba
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule Winn 1916 only - Apr 23 0:00 1:00 D
|
||||
@ -712,6 +709,40 @@ Rule Winn 1987 max - Apr Sun>=1 2:00 1:00 D
|
||||
Zone America/Winnipeg -6:28:36 - LMT 1887 Jul 16
|
||||
-6:00 Winn C%sT
|
||||
|
||||
|
||||
# Saskatchewan
|
||||
|
||||
# From Paul Eggert (1996-06-12):
|
||||
# Shanks writes that since 1970 most of this region has been like Regina.
|
||||
# Some western towns (e.g. Swift Current) switched from MST/MDT to CST in 1972.
|
||||
# Other western towns (e.g. Lloydminster) are like Edmonton.
|
||||
|
||||
# From W. Jones <jones@skdad.usask.ca> (November 6, 1992):
|
||||
# The. . .below is based on information I got from our law library, the
|
||||
# provincial archives, and the provincial Community Services department.
|
||||
# A precise history would require digging through newspaper archives, and
|
||||
# since you didn't say what you wanted, I didn't bother.
|
||||
#
|
||||
# Saskatchewan is split by a time zone meridian (105W) and over the years
|
||||
# the boundary became pretty ragged as communities near it reevaluated
|
||||
# their affiliations in one direction or the other. In 1965 a provincial
|
||||
# referendum favoured legislating common time practices.
|
||||
#
|
||||
# On 15 April 1966 the Time Act (c. T-14, Revised Statutes of
|
||||
# Saskatchewan 1978) was proclaimed, and established that the eastern
|
||||
# part of Saskatchewan would use CST year round, that districts in
|
||||
# northwest Saskatchewan would by default follow CST but could opt to
|
||||
# follow Mountain Time rules (thus 1 hour difference in the winter and
|
||||
# zero in the summer), and that districts in southwest Saskatchewan would
|
||||
# by default follow MT but could opt to follow CST.
|
||||
#
|
||||
# It took a few years for the dust to settle (I know one story of a town
|
||||
# on one time zone having its school in another, such that a mom had to
|
||||
# serve her family lunch in two shifts), but presently it seems that only
|
||||
# a few towns on the border with Alberta (e.g. Lloydminster) follow MT
|
||||
# rules any more; all other districts appear to have used CST year round
|
||||
# since sometime in the 1960s.
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule Regina 1918 only - Apr 14 2:00 1:00 D
|
||||
Rule Regina 1918 only - Oct 31 2:00 0 S
|
||||
@ -723,14 +754,29 @@ Rule Regina 1938 only - Oct Sun>=1 0:00 0 S
|
||||
Rule Regina 1939 1941 - Oct Sun>=8 0:00 0 S
|
||||
Rule Regina 1942 only - Feb 9 2:00 1:00 D
|
||||
Rule Regina 1945 only - Sep lastSun 2:00 0 S
|
||||
Rule Regina 1946 only - Apr 14 2:00 1:00 D
|
||||
Rule Regina 1946 only - Oct 13 2:00 0 S
|
||||
Rule Regina 1947 1960 - Apr lastSun 2:00 1:00 D
|
||||
Rule Regina 1947 1959 - Sep lastSun 2:00 0 S
|
||||
Rule Regina 1946 only - Apr Sun>=8 2:00 1:00 D
|
||||
Rule Regina 1946 only - Oct Sun>=8 2:00 0 S
|
||||
Rule Regina 1947 1959 - Apr lastSun 2:00 1:00 D
|
||||
Rule Regina 1947 1958 - Sep lastSun 2:00 0 S
|
||||
Rule Regina 1959 only - Oct lastSun 2:00 0 S
|
||||
#
|
||||
Rule Swift 1957 only - Apr lastSun 2:00 1:00 D
|
||||
Rule Swift 1957 only - Oct lastSun 2:00 0 S
|
||||
Rule Swift 1959 1961 - Apr lastSun 2:00 1:00 D
|
||||
Rule Swift 1959 only - Oct lastSun 2:00 0 S
|
||||
Rule Swift 1960 1961 - Sep lastSun 2:00 0 S
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone America/Regina -6:58:36 - LMT 1905 Sep
|
||||
-7:00 Regina M%sT 1966 Apr 15
|
||||
Zone America/Regina -6:58:36 - LMT 1905 Sep
|
||||
-7:00 Regina M%sT 1960 Apr lastSun 2:00
|
||||
-6:00 - CST
|
||||
Zone America/Swift_Current -7:11:20 - LMT 1905 Sep
|
||||
-7:00 Canada M%sT 1946 Apr lastSun 2:00
|
||||
-7:00 Regina M%sT 1950
|
||||
-7:00 Swift M%sT 1972 Apr lastSun 2:00
|
||||
-6:00 - CST
|
||||
|
||||
|
||||
# Alberta
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule Edm 1918 1919 - Apr Sun>=8 2:00 1:00 D
|
||||
@ -754,6 +800,13 @@ Rule Edm 1987 max - Apr Sun>=1 2:00 1:00 D
|
||||
Zone America/Edmonton -7:33:52 - LMT 1906 Sep
|
||||
-7:00 Edm M%sT
|
||||
|
||||
|
||||
# British Columbia
|
||||
|
||||
# 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.
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule Vanc 1918 only - Apr 14 2:00 1:00 D
|
||||
Rule Vanc 1918 only - Oct 31 2:00 0 S
|
||||
@ -767,23 +820,50 @@ Rule Vanc 1987 max - Apr Sun>=1 2:00 1:00 D
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone America/Vancouver -8:12:28 - LMT 1884
|
||||
-8:00 Vanc P%sT
|
||||
Zone America/Dawson_Creek -8:00:56 - LMT 1884
|
||||
-8:00 Canada P%sT 1947
|
||||
-8:00 Vanc P%sT 1972 Aug 30 2:00
|
||||
-7:00 - MST
|
||||
|
||||
|
||||
# Northwest Territories, Yukon
|
||||
|
||||
# From Paul Eggert (1996-06-12):
|
||||
# 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.
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule Yukon 1918 only - Apr 14 2:00 1:00 D
|
||||
Rule Yukon 1918 only - Oct 27 2:00 0 S
|
||||
Rule Yukon 1919 only - May 25 2:00 1:00 D
|
||||
Rule Yukon 1919 only - Nov 1 0:00 0 S
|
||||
Rule Yukon 1942 only - Feb 9 2:00 1:00 D
|
||||
Rule Yukon 1965 only - Apr 25 0:00 1:00 D
|
||||
Rule Yukon 1965 only - Oct 31 2:00 0 S
|
||||
Rule Yukon 1980 1986 - Apr lastSun 2:00 1:00 D
|
||||
Rule Yukon 1980 max - Oct lastSun 2:00 0 S
|
||||
Rule Yukon 1987 max - Apr Sun>=1 2:00 1:00 D
|
||||
Rule NT_YK 1918 only - Apr 14 2:00 1:00 D
|
||||
Rule NT_YK 1918 only - Oct 27 2:00 0 S
|
||||
Rule NT_YK 1919 only - May 25 2:00 1:00 D
|
||||
Rule NT_YK 1919 only - Nov 1 0:00 0 S
|
||||
Rule NT_YK 1942 only - Feb 9 2:00 1:00 D
|
||||
Rule NT_YK 1945 only - Sep 30 2:00 0 S
|
||||
# 0:00 ??
|
||||
Rule NT_YK 1965 only - Apr lastSun 0:00 2:00 DD
|
||||
Rule NT_YK 1965 only - Oct lastSun 2:00 0 S
|
||||
Rule NT_YK 1980 1986 - Apr lastSun 2:00 1:00 D
|
||||
Rule NT_YK 1980 max - Oct lastSun 2:00 0 S
|
||||
Rule NT_YK 1987 max - Apr Sun>=1 2:00 1:00 D
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone America/Pangnirtung -4:22:56 - LMT 1884
|
||||
-4:00 NT_YK A%sT
|
||||
Zone America/Iqaluit -4:33:52 - LMT 1884 # Frobisher Bay
|
||||
-5:00 NT_YK E%sT
|
||||
Zone America/Rankin_Inlet -6:08:40 - LMT 1884
|
||||
-6:00 NT_YK C%sT
|
||||
Zone America/Yellowknife -7:37:24 - LMT 1884
|
||||
-7:00 NT_YK M%sT
|
||||
Zone America/Inuvik -8:54:00 - LMT 1884
|
||||
-8:00 NT_YK P%sT 1979 Apr lastSun 2:00
|
||||
-7:00 NT_YK M%sT
|
||||
Zone America/Whitehorse -9:00:12 - LMT 1900 Aug 20
|
||||
-9:00 Yukon Y%sT 1966 Jul
|
||||
-8:00 Yukon P%sT
|
||||
# Parts of Yukon (e.g. Dawson) didn't switch to -8:00 until 1973 Oct 28.
|
||||
-9:00 NT_YK Y%sT 1966 Jul 1 2:00
|
||||
-8:00 NT_YK P%sT
|
||||
Zone America/Dawson -9:17:40 - LMT 1900 Aug 20
|
||||
-9:00 NT_YK Y%sT 1973 Oct lastSun 2:00
|
||||
-8:00 NT_YK P%sT
|
||||
|
||||
|
||||
###############################################################################
|
||||
|
||||
@ -868,6 +948,10 @@ Zone America/Whitehorse -9:00:12 - LMT 1900 Aug 20
|
||||
# The Decree was published in Mexico's Official Newspaper on January 4th.
|
||||
#
|
||||
# -------------- End Forwarded Message --------------
|
||||
# From Paul Eggert (1996-06-12):
|
||||
# For an English translation of the decree,
|
||||
# see ``Diario Oficial: Time Zone Changeover'',
|
||||
# <URL:http://mexico-travel.com/extra/timezone_eng.html> (1996-01-04).
|
||||
|
||||
# From Shanks (1991):
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
|
Loading…
Reference in New Issue
Block a user