diff options
Diffstat (limited to 'time')
-rw-r--r-- | time/asia | 73 | ||||
-rw-r--r-- | time/australasia | 10 | ||||
-rw-r--r-- | time/difftime.c | 44 | ||||
-rw-r--r-- | time/europe | 30 | ||||
-rw-r--r-- | time/northamerica | 6 | ||||
-rw-r--r-- | time/southamerica | 6 | ||||
-rw-r--r-- | time/zic.c | 4 |
7 files changed, 119 insertions, 54 deletions
diff --git a/time/asia b/time/asia index 7afe922bf4..07cdb113c4 100644 --- a/time/asia +++ b/time/asia @@ -1,4 +1,4 @@ -# @(#)asia 7.26 +# @(#)asia 7.27 # 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 @@ -354,6 +354,26 @@ Zone Asia/Jayapura 9:22:48 - LMT 1932 Nov 9:00 - JAYT # Iran +# From Paul Eggert (1996-12-17), following up a suggestion by Rich Wales: +# Ahmad Alavi <URL:http://tehran.stanford.edu/Iran_Lib/Calendar/taghveem.txt> +# (1993-08-04) writes ``Daylight saving time in Iran starts from the first day +# of Farvardin and ends the first day of Mehr.'' This disagrees with the SSIM: +# +# DST start DST end +# year SSIM Alavi SSIM Alavi +# 1991 05-03!= 03-21 09-20!= 09-23 +# 1992 03-22!= 03-21 09-23 09-23 +# 1993 03-21 03-21 09-23 09-23 +# 1994 03-21 03-21 09-22!= 09-23 +# 1995 03-21 03-21 09-22!= 09-23 +# 1996 03-21!= 03-20 09-21!= 09-22 +# 1997 03-21 03-21 09-21!= 09-23 +# +# Go with Alavi starting with 1992. +# I used Ed Reingold's cal-persia in GNU Emacs 19.34 to compute Persian dates. +# The Persian calendar is based on the sun, and dates after around 2050 +# are approximate; stop after 2037 when 32-bit time_t's overflow. +# # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Iran 1978 1980 - Mar 21 0:00 1:00 S Rule Iran 1978 only - Oct 21 0:00 0 - @@ -361,11 +381,50 @@ Rule Iran 1979 only - Sep 19 0:00 0 - Rule Iran 1980 only - Sep 23 0:00 0 - Rule Iran 1991 only - May 3 0:00s 1:00 S Rule Iran 1991 only - Sep 20 0:00s 0 - -Rule Iran 1992 only - Mar 22 0:00 1:00 S -Rule Iran 1992 1993 - Sep 23 0:00 0 - -Rule Iran 1993 max - Mar 21 0:00 1:00 S -Rule Iran 1994 1995 - Sep 22 0:00 0 - -Rule Iran 1996 max - Sep 21 0:00 0 - +Rule Iran 1992 1995 - Mar 21 0:00 1:00 S +Rule Iran 1992 1995 - Sep 23 0:00 0 - +Rule Iran 1996 only - Mar 20 0:00 1:00 S +Rule Iran 1996 only - Sep 22 0:00 0 - +Rule Iran 1997 1999 - Mar 21 0:00 1:00 S +Rule Iran 1997 1999 - Sep 23 0:00 0 - +Rule Iran 2000 only - Mar 20 0:00 1:00 S +Rule Iran 2000 only - Sep 22 0:00 0 - +Rule Iran 2001 2003 - Mar 21 0:00 1:00 S +Rule Iran 2001 2003 - Sep 23 0:00 0 - +Rule Iran 2004 only - Mar 20 0:00 1:00 S +Rule Iran 2004 only - Sep 22 0:00 0 - +Rule Iran 2005 2007 - Mar 21 0:00 1:00 S +Rule Iran 2005 2007 - Sep 23 0:00 0 - +Rule Iran 2008 only - Mar 20 0:00 1:00 S +Rule Iran 2008 only - Sep 22 0:00 0 - +Rule Iran 2009 2011 - Mar 21 0:00 1:00 S +Rule Iran 2009 2011 - Sep 23 0:00 0 - +Rule Iran 2012 only - Mar 20 0:00 1:00 S +Rule Iran 2012 only - Sep 22 0:00 0 - +Rule Iran 2013 2015 - Mar 21 0:00 1:00 S +Rule Iran 2013 2015 - Sep 23 0:00 0 - +Rule Iran 2016 only - Mar 20 0:00 1:00 S +Rule Iran 2016 only - Sep 22 0:00 0 - +Rule Iran 2017 2019 - Mar 21 0:00 1:00 S +Rule Iran 2017 2019 - Sep 23 0:00 0 - +Rule Iran 2020 only - Mar 20 0:00 1:00 S +Rule Iran 2020 only - Sep 22 0:00 0 - +Rule Iran 2021 2023 - Mar 21 0:00 1:00 S +Rule Iran 2021 2023 - Sep 23 0:00 0 - +Rule Iran 2024 2025 - Mar 20 0:00 1:00 S +Rule Iran 2024 2025 - Sep 22 0:00 0 - +Rule Iran 2026 2027 - Mar 21 0:00 1:00 S +Rule Iran 2026 2027 - Sep 23 0:00 0 - +Rule Iran 2028 2029 - Mar 20 0:00 1:00 S +Rule Iran 2028 2029 - Sep 22 0:00 0 - +Rule Iran 2030 2031 - Mar 21 0:00 1:00 S +Rule Iran 2030 2031 - Sep 23 0:00 0 - +Rule Iran 2032 2033 - Mar 20 0:00 1:00 S +Rule Iran 2032 2033 - Sep 22 0:00 0 - +Rule Iran 2034 2035 - Mar 21 0:00 1:00 S +Rule Iran 2034 2035 - Sep 23 0:00 0 - +Rule Iran 2036 2037 - Mar 20 0:00 1:00 S +Rule Iran 2036 2037 - Sep 22 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Tehran 3:25:44 - LMT 1916 3:25:44 - TMT 1946 # Tehran Mean Time @@ -492,7 +551,7 @@ Rule Zion 1995 only - Sep 3 0:00 0 S # # ftp://ftp.huji.ac.il/pub/misc/timezones/announcements/1996-1998.ps.gz # -# Emptor Caveat: The dates for the years 1996-1998 were originally announced +# Caveat emptor: The dates for the years 1996-1998 were originally announced # on 1995-08-31, by the previous Minister of Interior. The new Minister # of Interior changed the dates on 1996-01-01, to take into account the # desires of certain portions of Israeli society (the next election is in the diff --git a/time/australasia b/time/australasia index be15771b07..811e569127 100644 --- a/time/australasia +++ b/time/australasia @@ -1,4 +1,4 @@ -# @(#)australasia 7.30 +# @(#)australasia 7.31 # This file also includes Pacific islands. # Notes are at the end of this file @@ -48,15 +48,15 @@ Zone Australia/Perth 7:43:24 - LMT 1895 Dec # so use Lindeman. # # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule QL 1989 1991 - Oct lastSun 2:00s 1:00 - -Rule QL 1990 1992 - Mar Sun>=1 2:00s 0 - +Rule AQ 1989 1991 - Oct lastSun 2:00s 1:00 - +Rule AQ 1990 1992 - Mar Sun>=1 2:00s 0 - Rule Holiday 1989 1993 - Oct lastSun 2:00s 1:00 - Rule Holiday 1990 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 Oct lastSun 2:00s 10:00 1:00 EST 1972 Feb lastSun 2:00s - 10:00 QL EST + 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 Oct lastSun 2:00s @@ -339,7 +339,7 @@ Zone Pacific/Palau 8:57:56 - LMT 1901 # Koror 9:00 - PWT # Palau Time # Palmyra -# uninhabited since World War II; was probably like Pacific/Kiritmati +# uninhabited since World War II; was probably like Pacific/Kiritimati # Papua New Guinea # Zone NAME GMTOFF RULES FORMAT [UNTIL] diff --git a/time/difftime.c b/time/difftime.c index 49c5bfbc5c..170471768f 100644 --- a/time/difftime.c +++ b/time/difftime.c @@ -1,28 +1,30 @@ -/* Copyright (C) 1991, 1994 Free Software Foundation, Inc. -This file is part of the GNU C Library. +/* Copyright (C) 1991, 1994, 1996 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 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. + 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., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + 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 <ansidecl.h> #include <time.h> +#include <values.h> /* Return the difference between TIME1 and TIME0. */ double -DEFUN(difftime, (time1, time0), time_t time1 AND time_t time0) +difftime (time1, time0) + time_t time1; + time_t time0; { /* Algorithm courtesy Paul Eggert (eggert@twinsun.com). */ @@ -30,8 +32,8 @@ DEFUN(difftime, (time1, time0), time_t time1 AND time_t time0) if (sizeof (time_t) < sizeof (double)) return (double) time1 - (double) time0; - if (sizeof (time_t) < sizeof (LONG_DOUBLE)) - return (LONG_DOUBLE) time1 - (LONG_DOUBLE) time0; + if (sizeof (time_t) < sizeof (long double)) + return (long double) time1 - (long double) time0; if (time1 < time0) return - difftime (time0, time1); @@ -43,9 +45,7 @@ DEFUN(difftime, (time1, time0), time_t time1 AND time_t time0) return delta; /* Repair delta overflow. */ - hibit = 1; - while ((hibit <<= 1) > 0) - continue; + hibit = (~ (time_t) 0) << (_TYPEBITS (time_t) - 1); /* The following expression rounds twice, which means the result may not be the closest to the true answer. For example, suppose time_t is @@ -62,5 +62,5 @@ DEFUN(difftime, (time1, time0), time_t time1 AND time_t time0) round twice when converting large unsigned types to small floating types, so if time_t is unsigned the "return delta" above has the same double-rounding problem. */ - return delta - 2 * (LONG_DOUBLE) hibit; + return delta - 2 * (long double) hibit; } diff --git a/time/europe b/time/europe index 6eb92b769d..78ad05d7f5 100644 --- a/time/europe +++ b/time/europe @@ -1,4 +1,4 @@ -# @(#)europe 7.41 +# @(#)europe 7.42 # 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 @@ -78,7 +78,7 @@ # of the text said: # # `An old stone obelisk marking a forgotten terrestrial meridian stands -# beside the river at Kew. In the 18th century, before time and longditude +# beside the river at Kew. In the 18th century, before time and longitude # was standardised by the Royal Observatory in Greenwich, scholars observed # this stone and the movement of stars from Kew Observatory nearby. They # made their calculations and set the time for the Horse Guards and Parliament, @@ -86,7 +86,7 @@ # along the towpath within a few yards of it.' # # I have a one inch to one mile map of London and my estimate of the stone's -# position is 51 deg. 28' 30" N, 0 deg. 18' 45" W. The longditude should +# position is 51 deg. 28' 30" N, 0 deg. 18' 45" W. The longitude should # be within about +-2". The Ordnance Survey grid reference is TQ172761. # # [This yields GMTOFF = -0:01:15 for London LMT in the 18th century.] @@ -167,7 +167,7 @@ # It ends at 02:00 GMT on the morning of the day after the fourth Saturday # in October. (All the redundant `morning of the day ...' is in the Act.) # This is only of passing interest now as it will always be overridden by -# an Order in Council (a Statutary Instrument, the SI thing mentioned above) +# an Order in Council (a Statutory Instrument, the SI thing mentioned above) # to specify the EC specified dates. # From Peter Ilieve <peter@memex.co.uk> (1993-10-18): @@ -327,7 +327,7 @@ # so that part of the 1922 Act will still apply. # # - The Defence (Summer Time) Regulations, 1939, SR&O 1939 No. 1379 -# [SR&O == Statutary Regulation and Order] +# [SR&O == Statutory Regulation and Order] # # These were made under the Emergency Powers (Defence) Act, 1939. # It changes the end date to be the day after the third Saturday in November. @@ -403,7 +403,7 @@ # harmonise with the EC since 1981. The major change is that the time changes # to 01:00 GMT.) # -# - The Summer Time Order, 1992, SI 1992/1729 [SI == Statutary Instrument] +# - The Summer Time Order, 1992, SI 1992/1729 [SI == Statutory Instrument] # # This specifies dates of: # Start End @@ -1298,7 +1298,7 @@ Zone Europe/Athens 1:34:52 - LMT 1895 Sep 14 1:00 Greece CE%sT 1944 Apr 4 2:00 Greece EE%sT 1981 # Shanks says they switched to C-Eur in 1981; - # go with EU intead, since Greece joined it on Jan 1. + # go with EU instead, since Greece joined it on Jan 1. 2:00 EU EE%sT # Hungary @@ -1819,9 +1819,15 @@ Zone Europe/Bucharest 1:44:24 - LMT 1891 Oct 2:00 E-Eur EE%sT # Russia -# From Shanks (1991): -# In 1929 the Soviet Union instituted a 5 day week; in 1932 it instituted -# a 6 day week; on 1940-06-27 it returned to the Gregorian week. + +# From Chris Carrier <72157.3334@CompuServe.COM> (1996-12-02): +# On 1929-10-01 the Soviet Union instituted an ``Eternal Calendar'' +# with 30-day months plus 5 holidays, with a 5-day week. +# On 1931-12-01 it changed to a 6-day week; in 1934 it reverted to the +# Gregorian calendar while retaining the 6-day week; on 1940-06-27 it +# reverted to the 7-day week. With the 6-day week the usual days +# off were the 6th, 12th, 18th, 24th and 30th of the month. +# (Source: Evitiar Zerubavel, _The Seven Day Circle_) # # From Paul Eggert <eggert@twinsun.com> (1996-11-22): # Except for Moscow after 1919-07-01, I invented the time zone abbreviations, @@ -1882,7 +1888,7 @@ Zone Asia/Omsk 4:53:36 - LMT 1924 May 2 # as far as I remember it was done exactly during winter->summer switching # so we (Novosibirsk) simply did not switch. Zone Asia/Novosibirsk 5:31:40 - LMT 1924 May 2 - 6:00 - NOVT 1957 Mar # Novosibirsk TIme + 6:00 - NOVT 1957 Mar # Novosibirsk Time 7:00 Russia NOV%sT 1991 Mar 31 2:00s 6:00 1:00 NOVST 1991 Sep 29 2:00s 6:00 - NOVT 1992 Jan 19 2:00s @@ -2134,7 +2140,7 @@ Link Europe/Istanbul Asia/Istanbul # Istanbul is in both continents. # Ukraine # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Ukraine 1917 only - Jul 1 23:00 1:00 UST # Ukrainian Summer Time -Rule Ukraine 1917 only - Dec 28 0:00 0 KMT # Kiev Mean TIme +Rule Ukraine 1917 only - Dec 28 0:00 0 KMT # Kiev Mean Time Rule Ukraine 1918 only - May 31 22:00 2:00 UDST # Ukrainian Double Summer Time Rule Ukraine 1918 only - Sep 17 0:00 1:00 UST Rule Ukraine 1919 only - May 31 23:00 2:00 UDST diff --git a/time/northamerica b/time/northamerica index af81c5edb9..9bd959e45c 100644 --- a/time/northamerica +++ b/time/northamerica @@ -1,4 +1,4 @@ -# @(#)northamerica 7.29 +# @(#)northamerica 7.30 # also includes Central America and the Caribbean # This data is by no means authoritative; if you think you know better, @@ -920,9 +920,9 @@ Zone America/Dawson -9:17:40 - LMT 1900 Aug 20 # MEXICO BAJA CAL N 7 H BEHIND UTC BAJA CALIFORNIA SUR AND # MEXICO BAJA CAL N N. PACIFIC COAST (STATES # MEXICO BAJA CAL N OF SINALOA AND SONORA) -# MEXICO BAJA CAL N 8 H BEHIND UTC ABOVE 28TH PARALLAL APR 3 +# MEXICO BAJA CAL N 8 H BEHIND UTC ABOVE 28TH PARALLEL APR 3 # MEXICO BAJA CAL N - OCT 29 -# MEXICO BAJA CAL N 7 H BEHIND UTC ABOVE 28TH PARALLAL APR 3 +# MEXICO BAJA CAL N 7 H BEHIND UTC ABOVE 28TH PARALLEL APR 3 # MEXICO BAJA CAL N - 0CT 29 # MEXICO 6 H BEHIND UTC STATES OF DURANGO, # MEXICO COAHUILA, NUEVO LEON, diff --git a/time/southamerica b/time/southamerica index 1fdde5ebe5..b2b5138171 100644 --- a/time/southamerica +++ b/time/southamerica @@ -1,4 +1,4 @@ -# @(#)southamerica 7.15 +# @(#)southamerica 7.16 # 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 @@ -61,7 +61,7 @@ # ARGENTINA 3 H BEHIND UTC # From Hernan G. Otero <hernan@isoft.com.ar> (1995-06-26): -# I am sending modifications to the Argentinian time zone table... +# I am sending modifications to the Argentine time zone table... # AR was chosen because they are the ISO letters that represent Argentina. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S @@ -99,7 +99,7 @@ Rule Arg 1988 only - Dec 1 0:00 1:00 S # These corrections were contributed by InterSoft Argentina S.A., # obtaining the data from the: # Talleres de Hidrografia Naval Argentina -# (Argentinian Naval Hydrography Institute) +# (Argentine Naval Hydrography Institute) # # Shanks gives 1989 Mar 16 and stops after 1990 Mar 4; go with Otero. Rule Arg 1989 1993 - Mar Sun>=1 0:00 0 - diff --git a/time/zic.c b/time/zic.c index f75834c6c3..5a0063ab4b 100644 --- a/time/zic.c +++ b/time/zic.c @@ -1,6 +1,6 @@ #ifndef lint #ifndef NOID -static char elsieid[] = "@(#)zic.c 7.79"; +static char elsieid[] = "@(#)zic.c 7.80"; #endif /* !defined NOID */ #endif /* !defined lint */ @@ -1697,7 +1697,7 @@ const int zonecount; (void) strcpy(startbuf, zp->z_format); eat(zp->z_filename, zp->z_linenum); if (*startbuf == '\0') -error(_("can't determine time zone abbrevation to use just after until time")); +error(_("can't determine time zone abbreviation to use just after until time")); else addtt(starttime, addtype(startoff, startbuf, startoff != zp->z_gmtoff, |