[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 780 files in /usr/share/zoneinfo/



On Mon 30 Nov 2020 at 18:25:00 (-0600), John Hasler wrote:
> Stefan writes:
> > Is there leap-second information in the zoneinfo files?
> 
> No, but that is where is should be.

It appears to be present, at least in the difference between the
"posix" and "right" trees; and its history can be demonstrated:

$ for j in $(seq 1971 2020) ; do TZ=UTC touch -t "$j"04010000.00 "$j-apr" ; done
$ for j in $(seq 1971 2020) ; do TZ=UTC touch -t "$j"10010000.00 "$j-oct" ; done
$ TZ=right/UTC dirr-time-in-full -Gg
.:
total 0
-rw-r----- 1 0 1971-04-01 00:00:00.000000000 +0000 1971-apr
-rw-r----- 1 0 1971-10-01 00:00:00.000000000 +0000 1971-oct
-rw-r----- 1 0 1972-04-01 00:00:00.000000000 +0000 1972-apr
-rw-r----- 1 0 1972-09-30 23:59:59.000000000 +0000 1972-oct
-rw-r----- 1 0 1973-03-31 23:59:58.000000000 +0000 1973-apr
-rw-r----- 1 0 1973-09-30 23:59:58.000000000 +0000 1973-oct
-rw-r----- 1 0 1974-03-31 23:59:57.000000000 +0000 1974-apr
-rw-r----- 1 0 1974-09-30 23:59:57.000000000 +0000 1974-oct
-rw-r----- 1 0 1975-03-31 23:59:56.000000000 +0000 1975-apr
-rw-r----- 1 0 1975-09-30 23:59:56.000000000 +0000 1975-oct
-rw-r----- 1 0 1976-03-31 23:59:55.000000000 +0000 1976-apr
-rw-r----- 1 0 1976-09-30 23:59:55.000000000 +0000 1976-oct
-rw-r----- 1 0 1977-03-31 23:59:54.000000000 +0000 1977-apr
-rw-r----- 1 0 1977-09-30 23:59:54.000000000 +0000 1977-oct
-rw-r----- 1 0 1978-03-31 23:59:53.000000000 +0000 1978-apr
-rw-r----- 1 0 1978-09-30 23:59:53.000000000 +0000 1978-oct
-rw-r----- 1 0 1979-03-31 23:59:52.000000000 +0000 1979-apr
-rw-r----- 1 0 1979-09-30 23:59:52.000000000 +0000 1979-oct
-rw-r----- 1 0 1980-03-31 23:59:51.000000000 +0000 1980-apr
-rw-r----- 1 0 1980-09-30 23:59:51.000000000 +0000 1980-oct
-rw-r----- 1 0 1981-03-31 23:59:51.000000000 +0000 1981-apr
-rw-r----- 1 0 1981-09-30 23:59:50.000000000 +0000 1981-oct
-rw-r----- 1 0 1982-03-31 23:59:50.000000000 +0000 1982-apr
-rw-r----- 1 0 1982-09-30 23:59:49.000000000 +0000 1982-oct
-rw-r----- 1 0 1983-03-31 23:59:49.000000000 +0000 1983-apr
-rw-r----- 1 0 1983-09-30 23:59:48.000000000 +0000 1983-oct
-rw-r----- 1 0 1984-03-31 23:59:48.000000000 +0000 1984-apr
-rw-r----- 1 0 1984-09-30 23:59:48.000000000 +0000 1984-oct
-rw-r----- 1 0 1985-03-31 23:59:48.000000000 +0000 1985-apr
-rw-r----- 1 0 1985-09-30 23:59:47.000000000 +0000 1985-oct
-rw-r----- 1 0 1986-03-31 23:59:47.000000000 +0000 1986-apr
-rw-r----- 1 0 1986-09-30 23:59:47.000000000 +0000 1986-oct
-rw-r----- 1 0 1987-03-31 23:59:47.000000000 +0000 1987-apr
-rw-r----- 1 0 1987-09-30 23:59:47.000000000 +0000 1987-oct
-rw-r----- 1 0 1988-03-31 23:59:46.000000000 +0000 1988-apr
-rw-r----- 1 0 1988-09-30 23:59:46.000000000 +0000 1988-oct
-rw-r----- 1 0 1989-03-31 23:59:46.000000000 +0000 1989-apr
-rw-r----- 1 0 1989-09-30 23:59:46.000000000 +0000 1989-oct
-rw-r----- 1 0 1990-03-31 23:59:45.000000000 +0000 1990-apr
-rw-r----- 1 0 1990-09-30 23:59:45.000000000 +0000 1990-oct
-rw-r----- 1 0 1991-03-31 23:59:44.000000000 +0000 1991-apr
-rw-r----- 1 0 1991-09-30 23:59:44.000000000 +0000 1991-oct
-rw-r----- 1 0 1992-03-31 23:59:44.000000000 +0000 1992-apr
-rw-r----- 1 0 1992-09-30 23:59:43.000000000 +0000 1992-oct
-rw-r----- 1 0 1993-03-31 23:59:43.000000000 +0000 1993-apr
-rw-r----- 1 0 1993-09-30 23:59:42.000000000 +0000 1993-oct
-rw-r----- 1 0 1994-03-31 23:59:42.000000000 +0000 1994-apr
-rw-r----- 1 0 1994-09-30 23:59:41.000000000 +0000 1994-oct
-rw-r----- 1 0 1995-03-31 23:59:41.000000000 +0000 1995-apr
-rw-r----- 1 0 1995-09-30 23:59:41.000000000 +0000 1995-oct
-rw-r----- 1 0 1996-03-31 23:59:40.000000000 +0000 1996-apr
-rw-r----- 1 0 1996-09-30 23:59:40.000000000 +0000 1996-oct
-rw-r----- 1 0 1997-03-31 23:59:40.000000000 +0000 1997-apr
-rw-r----- 1 0 1997-09-30 23:59:39.000000000 +0000 1997-oct
-rw-r----- 1 0 1998-03-31 23:59:39.000000000 +0000 1998-apr
-rw-r----- 1 0 1998-09-30 23:59:39.000000000 +0000 1998-oct
-rw-r----- 1 0 1999-03-31 23:59:38.000000000 +0000 1999-apr
-rw-r----- 1 0 1999-09-30 23:59:38.000000000 +0000 1999-oct
-rw-r----- 1 0 2000-03-31 23:59:38.000000000 +0000 2000-apr
-rw-r----- 1 0 2000-09-30 23:59:38.000000000 +0000 2000-oct
-rw-r----- 1 0 2001-03-31 23:59:38.000000000 +0000 2001-apr
-rw-r----- 1 0 2001-09-30 23:59:38.000000000 +0000 2001-oct
-rw-r----- 1 0 2002-03-31 23:59:38.000000000 +0000 2002-apr
-rw-r----- 1 0 2002-09-30 23:59:38.000000000 +0000 2002-oct
-rw-r----- 1 0 2003-03-31 23:59:38.000000000 +0000 2003-apr
-rw-r----- 1 0 2003-09-30 23:59:38.000000000 +0000 2003-oct
-rw-r----- 1 0 2004-03-31 23:59:38.000000000 +0000 2004-apr
-rw-r----- 1 0 2004-09-30 23:59:38.000000000 +0000 2004-oct
-rw-r----- 1 0 2005-03-31 23:59:38.000000000 +0000 2005-apr
-rw-r----- 1 0 2005-09-30 23:59:38.000000000 +0000 2005-oct
-rw-r----- 1 0 2006-03-31 23:59:37.000000000 +0000 2006-apr
-rw-r----- 1 0 2006-09-30 23:59:37.000000000 +0000 2006-oct
-rw-r----- 1 0 2007-03-31 23:59:37.000000000 +0000 2007-apr
-rw-r----- 1 0 2007-09-30 23:59:37.000000000 +0000 2007-oct
-rw-r----- 1 0 2008-03-31 23:59:37.000000000 +0000 2008-apr
-rw-r----- 1 0 2008-09-30 23:59:37.000000000 +0000 2008-oct
-rw-r----- 1 0 2009-03-31 23:59:36.000000000 +0000 2009-apr
-rw-r----- 1 0 2009-09-30 23:59:36.000000000 +0000 2009-oct
-rw-r----- 1 0 2010-03-31 23:59:36.000000000 +0000 2010-apr
-rw-r----- 1 0 2010-09-30 23:59:36.000000000 +0000 2010-oct
-rw-r----- 1 0 2011-03-31 23:59:36.000000000 +0000 2011-apr
-rw-r----- 1 0 2011-09-30 23:59:36.000000000 +0000 2011-oct
-rw-r----- 1 0 2012-03-31 23:59:36.000000000 +0000 2012-apr
-rw-r----- 1 0 2012-09-30 23:59:35.000000000 +0000 2012-oct
-rw-r----- 1 0 2013-03-31 23:59:35.000000000 +0000 2013-apr
-rw-r----- 1 0 2013-09-30 23:59:35.000000000 +0000 2013-oct
-rw-r----- 1 0 2014-03-31 23:59:35.000000000 +0000 2014-apr
-rw-r----- 1 0 2014-09-30 23:59:35.000000000 +0000 2014-oct
-rw-r----- 1 0 2015-03-31 23:59:35.000000000 +0000 2015-apr
-rw-r----- 1 0 2015-09-30 23:59:34.000000000 +0000 2015-oct
-rw-r----- 1 0 2016-03-31 23:59:34.000000000 +0000 2016-apr
-rw-r----- 1 0 2016-09-30 23:59:34.000000000 +0000 2016-oct
-rw-r----- 1 0 2017-03-31 23:59:33.000000000 +0000 2017-apr
-rw-r----- 1 0 2017-09-30 23:59:33.000000000 +0000 2017-oct
-rw-r----- 1 0 2018-03-31 23:59:33.000000000 +0000 2018-apr
-rw-r----- 1 0 2018-09-30 23:59:33.000000000 +0000 2018-oct
-rw-r----- 1 0 2019-03-31 23:59:33.000000000 +0000 2019-apr
-rw-r----- 1 0 2019-09-30 23:59:33.000000000 +0000 2019-oct
-rw-r----- 1 0 2020-03-31 23:59:33.000000000 +0000 2020-apr
-rw-r----- 1 0 2020-09-30 23:59:33.000000000 +0000 2020-oct
$ 

Each leap second occurs halfway between a pair of lines above
(the March and September options have never been used), and
all have been positive.

Bear in mind that UTC and Atomic Time had already parted company
by 10 seconds before the start of leap seconds, so we're running
37 seconds slow, rather than the 27 shown above.

> > Isn't this info "global" (i.e. not specific to particular time zones)?
> 
> It is specific to a particular *time*.  

Yes, 23:59:60 is inserted into UTC, so it will have occurred at
around dinner-time in the US (for those who eat "lunch" around noon).

Cheers,
David.


Reply to: