summaryrefslogtreecommitdiff
path: root/unused
diff options
context:
space:
mode:
Diffstat (limited to 'unused')
-rw-r--r--unused/Makefile418
-rw-r--r--unused/checktab.awk159
-rw-r--r--unused/date.1175
-rw-r--r--unused/date.1.txt127
-rw-r--r--unused/date.c945
-rw-r--r--unused/itca.jpgbin0 -> 55948 bytes
-rw-r--r--unused/newctime.3239
-rw-r--r--unused/newctime.3.txt149
-rw-r--r--unused/newstrftime.3230
-rw-r--r--unused/newstrftime.3.txt149
-rw-r--r--unused/newtzset.3237
-rw-r--r--unused/newtzset.3.txt153
-rw-r--r--unused/time2posix.3.txt83
-rw-r--r--unused/tz-art.htm402
-rw-r--r--unused/tz-link.htm648
-rw-r--r--unused/tzfile.5.txt106
-rw-r--r--unused/tzselect.841
-rw-r--r--unused/tzselect.8.txt41
-rw-r--r--unused/tzselect.ksh323
-rw-r--r--unused/usno1988111
-rw-r--r--unused/usno1989452
-rw-r--r--unused/usno1989a452
-rw-r--r--unused/usno1995326
-rw-r--r--unused/usno1997327
-rw-r--r--unused/usno1998327
-rw-r--r--unused/workman.sh29
-rw-r--r--unused/zdump.8.txt43
-rw-r--r--unused/zic.8.txt308
-rwxr-xr-xunused/zoneinfo2tdf.pl54
29 files changed, 7054 insertions, 0 deletions
diff --git a/unused/Makefile b/unused/Makefile
new file mode 100644
index 000000000000..3865f23766ec
--- /dev/null
+++ b/unused/Makefile
@@ -0,0 +1,418 @@
+# @(#)Makefile 8.7
+
+# Change the line below for your time zone (after finding the zone you want in
+# the time zone files, or adding it to a time zone file).
+# Alternately, if you discover you've got the wrong time zone, you can just
+# zic -l rightzone
+# to correct things.
+# Use the command
+# make zonenames
+# to get a list of the values you can use for LOCALTIME.
+
+LOCALTIME= Factory
+
+# If you want something other than Eastern United States time as a template
+# for handling POSIX-style time zone environment variables,
+# change the line below (after finding the zone you want in the
+# time zone files, or adding it to a time zone file).
+# (When a POSIX-style environment variable is handled, the rules in the
+# template file are used to determine "spring forward" and "fall back" days and
+# times; the environment variable itself specifies UTC offsets of standard and
+# summer time.)
+# Alternately, if you discover you've got the wrong time zone, you can just
+# zic -p rightzone
+# to correct things.
+# Use the command
+# make zonenames
+# to get a list of the values you can use for POSIXRULES.
+# If you want POSIX compatibility, use "America/New_York".
+
+POSIXRULES= America/New_York
+
+# Also see TZDEFRULESTRING below, which takes effect only
+# if the time zone files cannot be accessed.
+
+# Everything gets put in subdirectories of. . .
+
+TOPDIR= /usr/local
+
+# "Compiled" time zone information is placed in the "TZDIR" directory
+# (and subdirectories).
+# Use an absolute path name for TZDIR unless you're just testing the software.
+
+TZDIR= $(TOPDIR)/etc/zoneinfo
+
+# The "tzselect", "zic", and "zdump" commands get installed in. . .
+
+ETCDIR= $(TOPDIR)/etc
+
+# If you "make INSTALL", the "date" command gets installed in. . .
+
+BINDIR= $(TOPDIR)/bin
+
+# Manual pages go in subdirectories of. . .
+
+MANDIR= $(TOPDIR)/man
+
+# Library functions are put in an archive in LIBDIR.
+
+LIBDIR= $(TOPDIR)/lib
+TZLIB= $(LIBDIR)/libtz.a
+
+# If you always want time values interpreted as "seconds since the epoch
+# (not counting leap seconds)", use
+# REDO= posix_only
+# below. If you always want right time values interpreted as "seconds since
+# the epoch" (counting leap seconds)", use
+# REDO= right_only
+# below. If you want both sets of data available, with leap seconds not
+# counted normally, use
+# REDO= posix_right
+# below. If you want both sets of data available, with leap seconds counted
+# normally, use
+# REDO= right_posix
+# below.
+# POSIX mandates that leap seconds not be counted; for compatibility with it,
+# use either "posix_only" or "posix_right".
+
+REDO= posix_right
+
+# Since "." may not be in PATH...
+
+YEARISTYPE= ./yearistype
+
+# Non-default libraries needed to link.
+# Add -lintl if you want to use `gettext' on Solaris.
+LDLIBS=
+
+# Add the following to the end of the "CFLAGS=" line as needed.
+# -DHAVE_ADJTIME=0 if `adjtime' does not exist (SVR0?)
+# -DHAVE_GETTEXT=1 if `gettext' works (GNU, Linux, Solaris); also see LDLIBS
+# -DHAVE_INCOMPATIBLE_CTIME_R=1 if your system's time.h declares
+# ctime_r and asctime_r incompatibly with the POSIX standard (Solaris 8).
+# -DHAVE_SETTIMEOFDAY=0 if settimeofday does not exist (SVR0?)
+# -DHAVE_SETTIMEOFDAY=1 if settimeofday has just 1 arg (SVR4)
+# -DHAVE_SETTIMEOFDAY=2 if settimeofday uses 2nd arg (4.3BSD)
+# -DHAVE_SETTIMEOFDAY=3 if settimeofday ignores 2nd arg (4.4BSD)
+# -DHAVE_STDINT_H=1 if you have a pre-C99 compiler with "stdint.h"
+# -DHAVE_SYMLINK=0 if your system lacks the symlink function
+# -DHAVE_SYS_STAT_H=0 if your compiler lacks a "sys/stat.h"
+# -DHAVE_SYS_WAIT_H=0 if your compiler lacks a "sys/wait.h"
+# -DLOCALE_HOME=\"path\" if locales are in "path", not "/usr/lib/locale"
+# -DHAVE_UNISTD_H=0 if your compiler lacks a "unistd.h" (Microsoft C++ 7?)
+# -DHAVE_UTMPX_H=1 if your compiler has a "utmpx.h"
+# -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified
+# DST transitions if the time zone files cannot be accessed
+# -DTZ_DOMAIN=\"foo\" to use "foo" for gettext domain name; default is "tz"
+# -TTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory;
+# the default is system-supplied, typically "/usr/lib/locale"
+# $(GCC_DEBUG_FLAGS) if you are using GCC and want lots of checking
+# -DNO_RUN_TIME_WARNINGS_ABOUT_YEAR_2000_PROBLEMS_THANK_YOU=1
+# if you do not want run time warnings about formats that may cause
+# year 2000 grief
+# -DZIC_MAX_ABBR_LEN_WO_WARN=3
+# (or some other number) to set the maximum time zone abbreviation length
+# that zic will accept without a warning (the default is 6)
+GCC_DEBUG_FLAGS = -Dlint -g -O -fno-common \
+ -Wall -Wcast-qual -Wconversion -Wmissing-prototypes \
+ -Wnested-externs -Wpointer-arith -Wshadow \
+ -Wtraditional # -Wstrict-prototypes -Wwrite-strings
+#
+# If you want to use System V compatibility code, add
+# -DUSG_COMPAT
+# to the end of the "CFLAGS=" line. This arrange for "timezone" and "daylight"
+# variables to be kept up-to-date by the time conversion functions. Neither
+# "timezone" nor "daylight" is described in X3J11's work.
+#
+# If your system has a "GMT offset" field in its "struct tm"s
+# (or if you decide to add such a field in your system's "time.h" file),
+# add the name to a define such as
+# -DTM_GMTOFF=tm_gmtoff
+# or
+# -DTM_GMTOFF=_tm_gmtoff
+# to the end of the "CFLAGS=" line.
+# Neither tm_gmtoff nor _tm_gmtoff is described in X3J11's work;
+# in its work, use of "tm_gmtoff" is described as non-conforming.
+# Both Linux and BSD have done the equivalent of defining TM_GMTOFF in
+# their recent releases.
+#
+# If your system has a "zone abbreviation" field in its "struct tm"s
+# (or if you decide to add such a field in your system's "time.h" file),
+# add the name to a define such as
+# -DTM_ZONE=tm_zone
+# or
+# -DTM_ZONE=_tm_zone
+# to the end of the "CFLAGS=" line.
+# Neither tm_zone nor _tm_zone is described in X3J11's work;
+# in its work, use of "tm_zone" is described as non-conforming.
+# Both UCB and Sun have done the equivalent of defining TM_ZONE in
+# their recent releases.
+#
+# If you want functions that were inspired by early versions of X3J11's work,
+# add
+# -DSTD_INSPIRED
+# to the end of the "CFLAGS=" line. This arranges for the functions
+# "tzsetwall", "offtime", "timelocal", "timegm", "timeoff",
+# "posix2time", and "time2posix" to be added to the time conversion library.
+# "tzsetwall" is like "tzset" except that it arranges for local wall clock
+# time (rather than the time specified in the TZ environment variable)
+# to be used.
+# "offtime" is like "gmtime" except that it accepts a second (long) argument
+# that gives an offset to add to the time_t when converting it.
+# "timelocal" is equivalent to "mktime".
+# "timegm" is like "timelocal" except that it turns a struct tm into
+# a time_t using UTC (rather than local time as "timelocal" does).
+# "timeoff" is like "timegm" except that it accepts a second (long) argument
+# that gives an offset to use when converting to a time_t.
+# "posix2time" and "time2posix" are described in an included manual page.
+# X3J11's work does not describe any of these functions.
+# Sun has provided "tzsetwall", "timelocal", and "timegm" in SunOS 4.0.
+# These functions may well disappear in future releases of the time
+# conversion package.
+#
+# If you want Source Code Control System ID's left out of object modules, add
+# -DNOID
+# to the end of the "CFLAGS=" line.
+#
+# If you'll never want to handle solar-time-based time zones, add
+# -DNOSOLAR
+# to the end of the "CFLAGS=" line
+# (and comment out the "SDATA=" line below).
+# This reduces (slightly) the run-time data-space requirements of
+# the time conversion functions; it may reduce the acceptability of your system
+# to folks in oil- and cash-rich places.
+#
+# If you want to allocate state structures in localtime, add
+# -DALL_STATE
+# to the end of the "CFLAGS=" line. Storage is obtained by calling malloc.
+#
+# If you want an "altzone" variable (a la System V Release 3.1), add
+# -DALTZONE
+# to the end of the "CFLAGS=" line.
+# This variable is not described in X3J11's work.
+#
+# If you want a "gtime" function (a la MACH), add
+# -DCMUCS
+# to the end of the "CFLAGS=" line
+# This function is not described in X3J11's work.
+#
+# NIST-PCTS:151-2, Version 1.4, (1993-12-03) is a test suite put
+# out by the National Institute of Standards and Technology
+# which claims to test C and Posix conformance. If you want to pass PCTS, add
+# -DPCTS
+# to the end of the "CFLAGS=" line.
+#
+# If you want strict compliance with XPG4 as of 1994-04-09, add
+# -DXPG4_1994_04_09
+# to the end of the "CFLAGS=" line. This causes "strftime" to always return
+# 53 as a week number (rather than 52 or 53) for those days in January that
+# before the first Monday in January when a "%V" format is used and January 1
+# falls on a Friday, Saturday, or Sunday.
+
+CFLAGS=
+
+# If you want zic's -s option used when installing, uncomment the next line
+# ZFLAGS= -s
+
+zic= ./zic
+ZIC= $(zic) $(ZFLAGS)
+
+# The name of a Posix-compliant `awk' on your system.
+AWK= nawk
+
+# The path where SGML DTDs are kept.
+SGML_SEARCH_PATH= $(TOPDIR)/share/doc/sgml-lib/REC-html401-19991224/
+
+# The catalog file(s) to use when validating.
+SGML_CATALOG_FILES= HTML4.cat
+
+# The name, arguments and environment of a program to validate your web pages.
+# See <http://www.jclark.com/sp/> for a validator, and
+# <http://validator.w3.org/source/> for a validation library.
+VALIDATE = nsgmls
+VALIDATE_FLAGS = -s -B -wall -wno-unused-param
+VALIDATE_ENV = \
+ SGML_CATALOG_FILES=$(SGML_CATALOG_FILES) \
+ SGML_SEARCH_PATH=$(SGML_SEARCH_PATH) \
+ SP_CHARSET_FIXED=YES \
+ SP_ENCODING=UTF-8
+
+###############################################################################
+
+cc= cc
+CC= $(cc) -DTZDIR=\"$(TZDIR)\"
+
+TZCSRCS= zic.c localtime.c asctime.c scheck.c ialloc.c
+TZCOBJS= zic.o localtime.o asctime.o scheck.o ialloc.o
+TZDSRCS= zdump.c localtime.c ialloc.c
+TZDOBJS= zdump.o localtime.o ialloc.o
+DATESRCS= date.c localtime.c strftime.c asctime.c
+DATEOBJS= date.o localtime.o strftime.o asctime.o
+LIBSRCS= localtime.c asctime.c difftime.c
+LIBOBJS= localtime.o asctime.o difftime.o
+HEADERS= tzfile.h private.h
+NONLIBSRCS= zic.c zdump.c scheck.c ialloc.c
+NEWUCBSRCS= date.c strftime.c
+SOURCES= $(HEADERS) $(LIBSRCS) $(NONLIBSRCS) $(NEWUCBSRCS) tzselect.ksh
+MANS= newctime.3 newstrftime.3 newtzset.3 time2posix.3 \
+ tzfile.5 tzselect.8 zic.8 zdump.8
+DOCS= README Theory $(MANS) date.1 Makefile
+PRIMARY_YDATA= africa antarctica asia australasia \
+ europe northamerica southamerica
+YDATA= $(PRIMARY_YDATA) pacificnew etcetera factory backward
+NDATA= systemv
+SDATA= solar87 solar88 solar89
+TDATA= $(YDATA) $(NDATA) $(SDATA)
+TABDATA= iso3166.tab zone.tab
+DATA= $(YDATA) $(NDATA) $(SDATA) $(TABDATA) leapseconds yearistype.sh
+WEB_PAGES= tz-art.htm tz-link.htm
+MISC= usno1988 usno1989 usno1989a usno1995 usno1997 usno1998 \
+ itca.jpg $(WEB_PAGES) checktab.awk workman.sh \
+ zoneinfo2tdf.pl
+ENCHILADA= $(DOCS) $(SOURCES) $(DATA) $(MISC)
+
+# And for the benefit of csh users on systems that assume the user
+# shell should be used to handle commands in Makefiles. . .
+
+SHELL= /bin/sh
+
+all: tzselect zic zdump $(LIBOBJS)
+
+ALL: all date
+
+install: all $(DATA) $(REDO) $(TZLIB) $(MANS) $(TABDATA)
+ $(ZIC) -y $(YEARISTYPE) \
+ -d $(TZDIR) -l $(LOCALTIME) -p $(POSIXRULES)
+ -rm -f $(TZDIR)/iso3166.tab $(TZDIR)/zone.tab
+ cp iso3166.tab zone.tab $(TZDIR)/.
+ -mkdir $(TOPDIR) $(ETCDIR)
+ cp tzselect zic zdump $(ETCDIR)/.
+ -mkdir $(TOPDIR) $(MANDIR) \
+ $(MANDIR)/man3 $(MANDIR)/man5 $(MANDIR)/man8
+ -rm -f $(MANDIR)/man3/newctime.3 \
+ $(MANDIR)/man3/newtzset.3 \
+ $(MANDIR)/man5/tzfile.5 \
+ $(MANDIR)/man8/tzselect.8 \
+ $(MANDIR)/man8/zdump.8 \
+ $(MANDIR)/man8/zic.8
+ cp newctime.3 newtzset.3 $(MANDIR)/man3/.
+ cp tzfile.5 $(MANDIR)/man5/.
+ cp tzselect.8 zdump.8 zic.8 $(MANDIR)/man8/.
+
+INSTALL: ALL install date.1
+ -mkdir $(TOPDIR) $(BINDIR)
+ cp date $(BINDIR)/.
+ -mkdir $(TOPDIR) $(MANDIR) $(MANDIR)/man1
+ -rm -f $(MANDIR)/man1/date.1
+ cp date.1 $(MANDIR)/man1/.
+
+zdump: $(TZDOBJS)
+ $(CC) $(CFLAGS) $(LFLAGS) $(TZDOBJS) $(LDLIBS) -o $@
+
+zic: $(TZCOBJS) yearistype
+ $(CC) $(CFLAGS) $(LFLAGS) $(TZCOBJS) $(LDLIBS) -o $@
+
+yearistype: yearistype.sh
+ cp yearistype.sh yearistype
+ chmod +x yearistype
+
+posix_only: zic $(TDATA)
+ $(ZIC) -y $(YEARISTYPE) -d $(TZDIR) -L /dev/null $(TDATA)
+
+right_only: zic leapseconds $(TDATA)
+ $(ZIC) -y $(YEARISTYPE) -d $(TZDIR) -L leapseconds $(TDATA)
+
+# In earlier versions of this makefile, the other two directories were
+# subdirectories of $(TZDIR). However, this led to configuration errors.
+# For example, with posix_right under the earlier scheme,
+# TZ='right/Australia/Adelaide' got you localtime with leap seconds,
+# but gmtime without leap seconds, which led to problems with applications
+# like sendmail that subtract gmtime from localtime.
+# Therefore, the other two directories are now siblings of $(TZDIR).
+# You must replace all of $(TZDIR) to switch from not using leap seconds
+# to using them, or vice versa.
+other_two: zic leapseconds $(TDATA)
+ $(ZIC) -y $(YEARISTYPE) -d $(TZDIR)-posix -L /dev/null $(TDATA)
+ $(ZIC) -y $(YEARISTYPE) \
+ -d $(TZDIR)-leaps -L leapseconds $(TDATA)
+
+posix_right: posix_only other_two
+
+right_posix: right_only other_two
+
+zones: $(REDO)
+
+$(TZLIB): $(LIBOBJS)
+ -mkdir $(TOPDIR) $(LIBDIR)
+ ar ru $@ $(LIBOBJS)
+ if [ -x /usr/ucb/ranlib -o -x /usr/bin/ranlib ] ; \
+ then ranlib $@ ; fi
+
+date: $(DATEOBJS)
+ $(CC) $(CFLAGS) date.o localtime.o asctime.o strftime.o \
+ $(LDLIBS) -lc -o $@
+
+tzselect: tzselect.ksh
+ sed \
+ -e 's|AWK=[^}]*|AWK=$(AWK)|g' \
+ -e 's|TZDIR=[^}]*|TZDIR=$(TZDIR)|' \
+ <$? >$@
+ chmod +x $@
+
+check: check_tables check_web
+
+check_tables: checktab.awk $(PRIMARY_YDATA)
+ $(AWK) -f checktab.awk $(PRIMARY_YDATA)
+
+check_web: $(WEB_PAGES)
+ $(VALIDATE_ENV) $(VALIDATE) $(VALIDATE_FLAGS) $(WEB_PAGES)
+
+clean:
+ rm -f core *.o *.out tzselect zdump zic yearistype date
+
+maintainer-clean: clean
+ @echo 'This command is intended for maintainers to use; it'
+ @echo 'deletes files that may need special tools to rebuild.'
+ rm -f *.[1-8].txt tzcode.tar.gz tzdata.tar.gz
+
+names:
+ @echo $(ENCHILADA)
+
+# The zics below ensure that each data file can stand on its own.
+# We also do an all-files run to catch links to links.
+
+public: $(ENCHILADA)
+ make maintainer-clean
+ make "CFLAGS=$(GCC_DEBUG_FLAGS)"
+ -mkdir /tmp/,tzpublic
+ -for i in $(TDATA) ; do zic -v -d /tmp/,tzpublic $$i 2>&1 | grep -v "starting year" ; done
+ for i in $(TDATA) ; do zic -d /tmp/,tzpublic $$i || exit; done
+ zic -v -d /tmp/,tzpublic $(TDATA) || exit
+ rm -f -r /tmp/,tzpublic
+ for i in *.[1-8] ; do sh workman.sh $$i > $$i.txt || exit; done
+ $(AWK) -f checktab.awk $(PRIMARY_YDATA)
+ tar cf - $(DOCS) $(SOURCES) $(MISC) *.[1-8].txt | gzip -9 > tzcode.tar.gz
+ tar cf - $(DATA) | gzip -9 > tzdata.tar.gz
+
+typecheck:
+ make clean
+ for i in "long long" unsigned double; \
+ do \
+ make CFLAGS="-DTYPECHECK -D_TIME_T \"-Dtime_t=$$i\"" ; \
+ ./zdump -v Europe/Rome ; \
+ make clean ; \
+ done
+
+zonenames: $(TDATA)
+ @$(AWK) '/^Zone/ { print $$2 } /^Link/ { print $$3 }' $(TDATA)
+
+asctime.o: private.h tzfile.h
+date.o: private.h
+difftime.o: private.h
+ialloc.o: private.h
+localtime.o: private.h tzfile.h
+scheck.o: private.h
+strftime.o: tzfile.h
+zic.o: private.h tzfile.h
+
+.KEEP_STATE:
diff --git a/unused/checktab.awk b/unused/checktab.awk
new file mode 100644
index 000000000000..80ad7d570158
--- /dev/null
+++ b/unused/checktab.awk
@@ -0,0 +1,159 @@
+# Check tz tables for consistency.
+
+# @(#)checktab.awk 8.1
+
+# Contributed by Paul Eggert.
+
+BEGIN {
+ FS = "\t"
+
+ if (!iso_table) iso_table = "iso3166.tab"
+ if (!zone_table) zone_table = "zone.tab"
+ if (!want_warnings) want_warnings = -1
+
+ while (getline <iso_table) {
+ iso_NR++
+ if ($0 ~ /^#/) continue
+ if (NF != 2) {
+ printf "%s:%d: wrong number of columns\n", \
+ iso_table, iso_NR >>"/dev/stderr"
+ status = 1
+ }
+ cc = $1
+ name = $2
+ if (cc !~ /^[A-Z][A-Z]$/) {
+ printf "%s:%d: invalid country code `%s'\n", \
+ iso_table, iso_NR, cc >>"/dev/stderr"
+ status = 1
+ }
+ if (cc <= cc0) {
+ if (cc == cc0) {
+ s = "duplicate";
+ } else {
+ s = "out of order";
+ }
+
+ printf "%s:%d: country code `%s' is %s\n", \
+ iso_table, iso_NR, cc, s \
+ >>"/dev/stderr"
+ status = 1
+ }
+ cc0 = cc
+ if (name2cc[name]) {
+ printf "%s:%d: `%s' and `%s' have the sname name\n", \
+ iso_table, iso_NR, name2cc[name], cc \
+ >>"/dev/stderr"
+ status = 1
+ }
+ name2cc[name] = cc
+ cc2name[cc] = name
+ cc2NR[cc] = iso_NR
+ }
+
+ zone_table = "zone.tab"
+ cc0 = ""
+
+ while (getline <zone_table) {
+ zone_NR++
+ if ($0 ~ /^#/) continue
+ if (NF != 3 && NF != 4) {
+ printf "%s:%d: wrong number of columns\n", \
+ zone_table, zone_NR >>"/dev/stderr"
+ status = 1
+ }
+ cc = $1
+ coordinates = $2
+ tz = $3
+ comments = $4
+ if (cc < cc0) {
+ printf "%s:%d: country code `%s' is out of order\n", \
+ zone_table, zone_NR, cc >>"/dev/stderr"
+ status = 1
+ }
+ cc0 = cc
+ if (tz2cc[tz]) {
+ printf "%s:%d: %s: duplicate TZ column\n", \
+ zone_table, zone_NR, tz >>"/dev/stderr"
+ status = 1
+ }
+ tz2cc[tz] = cc
+ tz2comments[tz] = comments
+ tz2NR[tz] = zone_NR
+ if (cc2name[cc]) {
+ cc_used[cc]++
+ } else {
+ printf "%s:%d: %s: unknown country code\n", \
+ zone_table, zone_NR, cc >>"/dev/stderr"
+ status = 1
+ }
+ if (coordinates !~ /^[-+][0-9][0-9][0-5][0-9][-+][01][0-9][0-9][0-5][0-9]$/ \
+ && coordinates !~ /^[-+][0-9][0-9][0-5][0-9][0-5][0-9][-+][01][0-9][0-9][0-5][0-9][0-5][0-9]$/) {
+ printf "%s:%d: %s: invalid coordinates\n", \
+ zone_table, zone_NR, coordinates >>"/dev/stderr"
+ status = 1
+ }
+ }
+
+ for (tz in tz2cc) {
+ if (cc_used[tz2cc[tz]] == 1) {
+ if (tz2comments[tz]) {
+ printf "%s:%d: unnecessary comment `%s'\n", \
+ zone_table, tz2NR[tz], tz2comments[tz] \
+ >>"/dev/stderr"
+ status = 1
+ }
+ } else {
+ if (!tz2comments[tz]) {
+ printf "%s:%d: missing comment\n", \
+ zone_table, tz2NR[tz] >>"/dev/stderr"
+ status = 1
+ }
+ }
+ }
+
+ FS = " "
+}
+
+{
+ tz = ""
+ if ($1 == "Zone") tz = $2
+ if ($1 == "Link") {
+ # Ignore Link commands if source and destination basenames
+ # are identical, e.g. Europe/Istanbul versus Asia/Istanbul.
+ src = $2
+ dst = $3
+ while ((i = index(src, "/"))) src = substr(src, i+1)
+ while ((i = index(dst, "/"))) dst = substr(dst, i+1)
+ if (src != dst) tz = $3
+ }
+ if (tz && tz ~ /\//) {
+ if (!tz2cc[tz]) {
+ printf "%s: no data for `%s'\n", zone_table, tz \
+ >>"/dev/stderr"
+ status = 1
+ }
+ zoneSeen[tz] = 1
+ }
+}
+
+END {
+ for (tz in tz2cc) {
+ if (!zoneSeen[tz]) {
+ printf "%s:%d: no Zone table for `%s'\n", \
+ zone_table, tz2NR[tz], tz >>"/dev/stderr"
+ status = 1
+ }
+ }
+
+ if (0 < want_warnings) {
+ for (cc in cc2name) {
+ if (!cc_used[cc]) {
+ printf "%s:%d: warning: " \
+ "no Zone entries for %s (%s)\n", \
+ iso_table, cc2NR[cc], cc, cc2name[cc]
+ }
+ }
+ }
+
+ exit status
+}
diff --git a/unused/date.1 b/unused/date.1
new file mode 100644
index 000000000000..3c75ba4337c8
--- /dev/null
+++ b/unused/date.1
@@ -0,0 +1,175 @@
+.TH DATE 1
+.SH NAME
+date \- show and set date and time
+.SH SYNOPSIS
+.if n .nh
+.if n .na
+.B date
+[
+.B \-u
+] [
+.B \-c
+] [
+.B \-n
+] [
+.B \-d
+dsttype
+] [
+.B \-t
+minutes-west
+] [
+\fB\-a \fR[\fB+\fR|\fB-]\fIsss\fB.\fIfff\fR
+] [
+.BI + format
+] [
+\fR[\fIyyyy\fR]\fImmddhhmm\fR[\fIyy\fR][\fB.\fIss\fR]
+]
+.SH DESCRIPTION
+.I Date
+without arguments writes the date and time to the standard output in
+the form
+.ce 1
+Wed Mar 8 14:54:40 EST 1989
+.br
+with
+.B EST
+replaced by the local time zone's abbreviation
+(or by the abbreviation for the time zone specified in the
+.B TZ
+environment variable if set).
+The exact output format depends on the locale.
+.PP
+If a command-line argument starts with a plus sign
+.RB (` + '),
+the rest of the argument is used as a
+.I format
+that controls what appears in the output.
+In the format, when a percent sign
+.RB (` % ')
+appears,
+it and the character after it are not output,
+but rather identify part of the date or time
+to be output in a particular way
+(or identify a special character to output):
+.nf
+.sp
+.if t .in +.5i
+.if n .in +2
+.ta \w'%M\0\0'u +\w'Wed Mar 8 14:54:40 EST 1989\0\0'u
+ Sample output Explanation
+%a Wed Abbreviated weekday name*
+%A Wednesday Full weekday name*
+%b Mar Abbreviated month name*
+%B March Full month name*
+%c Wed Mar 08 14:54:40 1989 Date and time*
+%C 19 Century
+%d 08 Day of month (always two digits)
+%D 03/08/89 Month/day/year (eight characters)
+%e 8 Day of month (leading zero blanked)
+%h Mar Abbreviated month name*
+%H 14 24-hour-clock hour (two digits)
+%I 02 12-hour-clock hour (two digits)
+%j 067 Julian day number (three digits)
+%k 2 12-hour-clock hour (leading zero blanked)
+%l 14 24-hour-clock hour (leading zero blanked)
+%m 03 Month number (two digits)
+%M 54 Minute (two digits)
+%n \\n newline character
+%p PM AM/PM designation
+%r 02:54:40 PM Hour:minute:second AM/PM designation
+%R 14:54 Hour:minute
+%S 40 Second (two digits)
+%t \\t tab character
+%T 14:54:40 Hour:minute:second
+%U 10 Sunday-based week number (two digits)
+%w 3 Day number (one digit, Sunday is 0)
+%W 10 Monday-based week number (two digits)
+%x 03/08/89 Date*
+%X 14:54:40 Time*
+%y 89 Last two digits of year
+%Y 1989 Year in full
+%Z EST Time zone abbreviation
+%+ Wed Mar 8 14:54:40 EST 1989 Default output format*
+.if t .in -.5i
+.if n .in -2
+* The exact output depends on the locale.
+.sp
+.fi
+If a character other than one of those shown above appears after
+a percent sign in the format,
+that following character is output.
+All other characters in the format are copied unchanged to the output;
+a newline character is always added at the end of the output.
+.PP
+In Sunday-based week numbering,
+the first Sunday of the year begins week 1;
+days preceding it are part of ``week 0.''
+In Monday-based week numbering,
+the first Monday of the year begins week 1.
+.PP
+To set the date, use a command line argument with one of the following forms:
+.nf
+.if t .in +.5i
+.if n .in +2
+.ta \w'198903081454\0'u
+1454 24-hour-clock hours (first two digits) and minutes
+081454 Month day (first two digits), hours, and minutes
+03081454 Month (two digits, January is 01), month day, hours, minutes
+8903081454 Year, month, month day, hours, minutes
+0308145489 Month, month day, hours, minutes, year
+ (on System V-compatible systems)
+030814541989 Month, month day, hours, minutes, four-digit year
+198903081454 Four-digit year, month, month day, hours, minutes
+.if t .in -.5i
+.if n .in -2
+.fi
+If the century, year, month, or month day is not given,
+the current value is used.
+Any of the above forms may be followed by a period and two digits that give
+the seconds part of the new time; if no seconds are given, zero is assumed.
+.PP
+These options are available:
+.TP
+.BR \-u " or " \-c
+Use UTC when setting and showing the date and time.
+.TP
+.B \-n
+Do not notify other networked systems of the time change.
+.TP
+.BI "\-d " dsttype
+Set the kernel-stored Daylight Saving Time type to the given value.
+(The kernel-stored DST type is used mostly by ``old'' binaries.)
+.TP
+.BI "\-t " minutes-west
+Set the kernel-stored ``minutes west of UTC'' value to the one given on the
+command line.
+(The kernel-stored DST type is used mostly by ``old'' binaries.)
+.TP
+.BI "\-a " adjustment
+Change the time forward (or backward) by the number of seconds
+(and fractions thereof) specified in the
+.I adjustment\^
+argument.
+Either the seconds part or the fractions part of the argument (but not both)
+may be omitted.
+On BSD-based systems,
+the adjustment is made by changing the rate at which time advances;
+on System-V-based systems, the adjustment is made by changing the time.
+.SH FILES
+.ta \w'/usr/local/etc/zoneinfo/posixrules\0\0'u
+/usr/lib/locale/\f2L\fP/LC_TIME description of time locale \f2L\fP
+.br
+/usr/local/etc/zoneinfo time zone information directory
+.br
+/usr/local/etc/zoneinfo/localtime local time zone file
+.br
+/usr/local/etc/zoneinfo/posixrules used with POSIX-style TZ's
+.br
+/usr/local/etc/zoneinfo/GMT for UTC leap seconds
+.sp
+If
+.B /usr/local/etc/zoneinfo/GMT
+is absent,
+UTC leap seconds are loaded from
+.BR /usr/local/etc/zoneinfo/posixrules .
+.\" @(#)date.1 8.1
diff --git a/unused/date.1.txt b/unused/date.1.txt
new file mode 100644
index 000000000000..2910aaac370c
--- /dev/null
+++ b/unused/date.1.txt
@@ -0,0 +1,127 @@
+NAME
+
+ date - show and set date and time
+
+SYNOPSIS
+ date [ -u ] [ -c ] [ -n ] [ -d dsttype ] [ -t minutes-west ]
+ [ -a [+|-]sss.fff ] [ +format ] [ [yyyy]mmddhhmm[yy][.ss] ]
+
+DESCRIPTION
+ Date without arguments writes the date and time to the
+ standard output in the form
+ Wed Mar 8 14:54:40 EST 1989
+ with EST replaced by the local time zone's abbreviation (or
+ by the abbreviation for the time zone specified in the TZ
+ environment variable if set). The exact output format
+ depends on the locale.
+
+ If a command-line argument starts with a plus sign (`+'),
+ the rest of the argument is used as a format that controls
+ what appears in the output. In the format, when a percent
+ sign (`%') appears, it and the character after it are not
+ output, but rather identify part of the date or time to be
+ output in a particular way (or identify a special character
+ to output):
+
+ Sample output Explanation
+ %a Wed Abbreviated weekday name*
+ %A Wednesday Full weekday name*
+ %b Mar Abbreviated month name*
+ %B March Full month name*
+ %c Wed Mar 08 14:54:40 1989 Date and time*
+ %C 19 Century
+ %d 08 Day of month (always two digits)
+ %D 03/08/89 Month/day/year (eight characters)
+ %e 8 Day of month (leading zero blanked)
+ %h Mar Abbreviated month name*
+ %H 14 24-hour-clock hour (two digits)
+ %I 02 12-hour-clock hour (two digits)
+ %j 067 Julian day number (three digits)
+ %k 2 12-hour-clock hour (leading zero blanked)
+ %l 14 24-hour-clock hour (leading zero blanked)
+ %m 03 Month number (two digits)
+ %M 54 Minute (two digits)
+ %n \n newline character
+ %p PM AM/PM designation
+ %r 02:54:40 PM Hour:minute:second AM/PM designation
+ %R 14:54 Hour:minute
+ %S 40 Second (two digits)
+ %t \t tab character
+ %T 14:54:40 Hour:minute:second
+ %U 10 Sunday-based week number (two digits)
+ %w 3 Day number (one digit, Sunday is 0)
+ %W 10 Monday-based week number (two digits)
+ %x 03/08/89 Date*
+ %X 14:54:40 Time*
+ %y 89 Last two digits of year
+ %Y 1989 Year in full
+ %Z EST Time zone abbreviation
+ %+ Wed Mar 8 14:54:40 EST 1989 Default output format*
+ * The exact output depends on the locale.
+
+ If a character other than one of those shown above appears
+ after a percent sign in the format, that following character
+ is output. All other characters in the format are copied
+ unchanged to the output; a newline character is always added
+ at the end of the output.
+ In Sunday-based week numbering, the first Sunday of the year
+ begins week 1; days preceding it are part of ``week 0.'' In
+ Monday-based week numbering, the first Monday of the year
+ begins week 1.
+
+ To set the date, use a command line argument with one of the
+ following forms:
+ 1454 24-hour-clock hours (first two digits) and minutes
+ 081454 Month day (first two digits), hours, and minutes
+ 03081454 Month (two digits, January is 01), month day, hours, minutes
+ 8903081454 Year, month, month day, hours, minutes
+ 0308145489 Month, month day, hours, minutes, year
+ (on System V-compatible systems)
+ 030814541989 Month, month day, hours, minutes, four-digit year
+ 198903081454 Four-digit year, month, month day, hours, minutes
+ If the century, year, month, or month day is not given, the
+ current value is used. Any of the above forms may be
+ followed by a period and two digits that give the seconds
+ part of the new time; if no seconds are given, zero is
+ assumed.
+
+ These options are available:
+
+ -u or -c
+ Use UTC when setting and showing the date and time.
+
+ -n Do not notify other networked systems of the time
+ change.
+
+ -d dsttype
+ Set the kernel-stored Daylight Saving Time type to the
+ given value. (The kernel-stored DST type is used
+ mostly by ``old'' binaries.)
+
+ -t minutes-west
+ Set the kernel-stored ``minutes west of UTC'' value to
+ the one given on the command line. (The kernel-stored
+ DST type is used mostly by ``old'' binaries.)
+
+ -a adjustment
+ Change the time forward (or backward) by the number of
+ seconds (and fractions thereof) specified in the
+ adjustment argument. Either the seconds part or the
+ fractions part of the argument (but not both) may be
+ omitted. On BSD-based systems, the adjustment is made
+ by changing the rate at which time advances; on System-
+ V-based systems, the adjustment is made by changing the
+ time.
+
+FILES
+ /usr/lib/locale/L/LC_TIME description of time
+ locale L
+ /usr/local/etc/zoneinfo time zone information
+ directory
+ /usr/local/etc/zoneinfo/localtime local time zone file
+ /usr/local/etc/zoneinfo/posixrules used with POSIX-style
+ TZ's
+ /usr/local/etc/zoneinfo/GMT for UTC leap seconds
+
+ If /usr/local/etc/zoneinfo/GMT is absent, UTC leap seconds
+ are loaded from /usr/local/etc/zoneinfo/posixrules.
diff --git a/unused/date.c b/unused/date.c
new file mode 100644
index 000000000000..6a6d2cdaffcd
--- /dev/null
+++ b/unused/date.c
@@ -0,0 +1,945 @@
+#ifndef lint
+#ifndef NOID
+static char elsieid[] = "@(#)date.c 8.4";
+/*
+** Modified from the UCB version with the SCCS ID appearing below.
+*/
+#endif /* !defined NOID */
+#endif /* !defined lint */
+
+/*
+ * Copyright (c) 1985, 1987, 1988 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANT[A]BILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#ifndef lint
+char copyright[] =
+"@(#) Copyright (c) 1985, 1987, 1988 The Regents of the University of California.\n\
+ All rights reserved.\n";
+#endif /* not lint */
+
+#ifndef lint
+static char sccsid[] = "@(#)date.c 4.23 (Berkeley) 9/20/88";
+#endif /* not lint */
+
+#include "private.h"
+#if HAVE_ADJTIME || HAVE_SETTIMEOFDAY
+#include "sys/time.h" /* for struct timeval, struct timezone */
+#endif /* HAVE_ADJTIME || HAVE_SETTIMEOFDAY */
+#include "locale.h"
+#include "utmp.h" /* for OLD_TIME (or its absence) */
+#if HAVE_UTMPX_H
+#include "utmpx.h"
+#endif
+
+#ifndef OTIME_MSG
+#define OTIME_MSG "old time"
+#endif
+#ifndef NTIME_MSG
+#define NTIME_MSG "new time"
+#endif
+
+/*
+** The two things date knows about time are. . .
+*/
+
+#ifndef TM_YEAR_BASE
+#define TM_YEAR_BASE 1900
+#endif /* !defined TM_YEAR_BASE */
+
+#ifndef SECSPERMIN
+#define SECSPERMIN 60
+#endif /* !defined SECSPERMIN */
+
+extern double atof();
+extern char ** environ;
+extern char * getlogin();
+extern time_t mktime();
+extern char * optarg;
+extern int optind;
+extern char * strchr();
+extern time_t time();
+extern char * tzname[2];
+
+static int retval = EXIT_SUCCESS;
+
+static void checkfinal(const char *, int, time_t, time_t);
+static int comptm(const struct tm *, const struct tm *);
+static time_t convert(const char *, int, time_t);
+static void display(const char *);
+static void dogmt(void);
+static void errensure(void);
+static void iffy(time_t, time_t, const char *, const char *);
+int main(int, char**);
+static const char * nondigit(const char *);
+static void oops(const char *);
+static void reset(time_t, int);
+static void timeout(FILE *, const char *, const struct tm *);
+static void usage(void);
+static void wildinput(const char *, const char *,
+ const char *);
+
+int
+main(argc, argv)
+const int argc;
+char * argv[];
+{
+ register const char * format;
+ register const char * value;
+ register const char * cp;
+ register int ch;
+ register int dousg;
+ register int aflag = 0;
+ register int dflag = 0;
+ register int nflag = 0;
+ register int tflag = 0;
+ register int minuteswest;
+ register int dsttime;
+ register double adjust;
+ time_t now;
+ time_t t;
+
+ INITIALIZE(dousg);
+ INITIALIZE(minuteswest);
+ INITIALIZE(dsttime);
+ INITIALIZE(adjust);
+ INITIALIZE(t);
+#ifdef LC_ALL
+ (void) setlocale(LC_ALL, "");
+#endif /* defined(LC_ALL) */
+#if HAVE_GETTEXT
+#ifdef TZ_DOMAINDIR
+ (void) bindtextdomain(TZ_DOMAIN, TZ_DOMAINDIR);
+#endif /* defined(TEXTDOMAINDIR) */
+ (void) textdomain(TZ_DOMAIN);
+#endif /* HAVE_GETTEXT */
+ (void) time(&now);
+ format = value = NULL;
+ while ((ch = getopt(argc, argv, "ucnd:t:a:")) != EOF && ch != -1) {
+ switch (ch) {
+ default:
+ usage();
+ case 'u': /* do it in UTC */
+ case 'c':
+ dogmt();
+ break;
+ case 'n': /* don't set network */
+ nflag = 1;
+ break;
+ case 'd': /* daylight saving time */
+ if (dflag) {
+ (void) fprintf(stderr,
+ _("date: error: multiple -d's used"));
+ usage();
+ }
+ dflag = 1;
+ cp = optarg;
+ dsttime = atoi(cp);
+ if (*cp == '\0' || *nondigit(cp) != '\0')
+ wildinput(_("-t value"), optarg,
+ _("must be a non-negative number"));
+ break;
+ case 't': /* minutes west of UTC */
+ if (tflag) {
+ (void) fprintf(stderr,
+ _("date: error: multiple -t's used"));
+ usage();
+ }
+ tflag = 1;
+ cp = optarg;
+ minuteswest = atoi(cp);
+ if (*cp == '+' || *cp == '-')
+ ++cp;
+ if (*cp == '\0' || *nondigit(cp) != '\0')
+ wildinput(_("-d value"), optarg,
+ _("must be a number"));
+ break;
+ case 'a': /* adjustment */
+ if (aflag) {
+ (void) fprintf(stderr,
+ _("date: error: multiple -a's used"));
+ usage();
+ }
+ aflag = 1;
+ cp = optarg;
+ adjust = atof(cp);
+ if (*cp == '+' || *cp == '-')
+ ++cp;
+ if (*cp == '\0' || strcmp(cp, ".") == 0)
+ wildinput(_("-a value"), optarg,
+ _("must be a number"));
+ cp = nondigit(cp);
+ if (*cp == '.')
+ ++cp;
+ if (*nondigit(cp) != '\0')
+ wildinput(_("-a value"), optarg,
+ _("must be a number"));
+ break;
+ }
+ }
+ while (optind < argc) {
+ cp = argv[optind++];
+ if (*cp == '+')
+ if (format == NULL)
+ format = cp + 1;
+ else {
+ (void) fprintf(stderr,
+_("date: error: multiple formats in command line\n"));
+ usage();
+ }
+ else if (value == NULL)
+ value = cp;
+ else {
+ (void) fprintf(stderr,
+_("date: error: multiple values in command line\n"));
+ usage();
+ }
+ }
+ if (value != NULL) {
+ /*
+ ** This order ensures that "reasonable" twelve-digit inputs
+ ** (such as 120203042006) won't be misinterpreted
+ ** even if time_t's range all the way back to the thirteenth
+ ** century. Do not change the order.
+ */
+ t = convert(value, (dousg = TRUE), now);
+ if (t == -1)
+ t = convert(value, (dousg = FALSE), now);
+ if (t == -1) {
+ /*
+ ** Out of range values,
+ ** or time that falls in a DST transition hole?
+ */
+ if ((cp = strchr(value, '.')) != NULL) {
+ /*
+ ** Ensure that the failure of
+ ** TZ=America/New_York date 8712312359.60
+ ** doesn't get misdiagnosed. (It was
+ ** TZ=America/New_York date 8712311859.60
+ ** when the leap second was inserted.)
+ ** The normal check won't work since
+ ** the given time is valid in UTC.
+ */
+ if (atoi(cp + 1) >= SECSPERMIN)
+ wildinput(_("time"), value,
+ _("out of range seconds given"));
+ }
+ dogmt();
+ t = convert(value, FALSE, now);
+ if (t == -1)
+ t = convert(value, TRUE, now);
+ wildinput(_("time"), value,
+ (t == -1) ?
+ _("out of range value given") :
+ _("time skipped when clock springs forward"));
+ }
+ }
+ /*
+ ** Entire command line has now been checked.
+ */
+ if (aflag) {
+#if HAVE_ADJTIME
+ struct timeval tv;
+
+ tv.tv_sec = (int) adjust;
+ tv.tv_usec = (int) ((adjust - tv.tv_sec) * 1000000L);
+ if (adjtime(&tv, (struct timeval *) NULL) != 0)
+ oops("adjtime");
+#endif /* HAVE_ADJTIME */
+#if !HAVE_ADJTIME
+ reset((time_t) (now + adjust), nflag);
+#endif /* !HAVE_ADJTIME */
+ /*
+ ** Sun silently ignores everything else; we follow suit.
+ */
+ exit(retval);
+ }
+ if (dflag || tflag) {
+#if HAVE_SETTIMEOFDAY == 2
+ struct timezone tz;
+
+ if (!dflag || !tflag)
+ if (gettimeofday((struct timeval *) NULL, &tz) != 0)
+ oops("gettimeofday");
+ if (dflag)
+ tz.tz_dsttime = dsttime;
+ if (tflag)
+ tz.tz_minuteswest = minuteswest;
+ if (settimeofday((struct timeval *) NULL, &tz) != 0)
+ oops("settimeofday");
+#endif /* HAVE_SETTIMEOFDAY == 2 */
+#if HAVE_SETTIMEOFDAY != 2
+ (void) fprintf(stderr,
+_("date: warning: kernel doesn't keep -d/-t information, option ignored\n"));
+#endif /* HAVE_SETTIMEOFDAY != 2 */
+ }
+
+ if (value == NULL)
+ display(format);
+
+ reset(t, nflag);
+
+ checkfinal(value, dousg, t, now);
+
+#ifdef EBUG
+ {
+ struct tm tm;
+
+ tm = *localtime(&t);
+ timeout(stdout, "%c\n", &tm);
+ exit(retval);
+ }
+#endif /* defined EBUG */
+
+ display(format);
+
+ /* gcc -Wall pacifier */
+ for ( ; ; )
+ continue;
+}
+
+static void
+dogmt(void)
+{
+ static char ** fakeenv;
+
+ if (fakeenv == NULL) {
+ register int from;
+ register int to;
+ register int n;
+ static char tzegmt0[] = "TZ=GMT0";
+
+ for (n = 0; environ[n] != NULL; ++n)
+ continue;
+ fakeenv = (char **) malloc((size_t) (n + 2) * sizeof *fakeenv);
+ if (fakeenv == NULL) {
+ (void) perror(_("Memory exhausted"));
+ errensure();
+ exit(retval);
+ }
+ to = 0;
+ fakeenv[to++] = tzegmt0;
+ for (from = 1; environ[from] != NULL; ++from)
+ if (strncmp(environ[from], "TZ=", 3) != 0)
+ fakeenv[to++] = environ[from];
+ fakeenv[to] = NULL;
+ environ = fakeenv;
+ }
+}
+
+#ifdef OLD_TIME
+
+/*
+** We assume we're on a System-V-based system,
+** should use stime,
+** should write System-V-format utmp entries,
+** and don't have network notification to worry about.
+*/
+
+#include "fcntl.h" /* for O_WRONLY, O_APPEND */
+
+/*ARGSUSED*/
+static void
+reset(const time_t newt, const int nflag)
+{
+ register int fid;
+ time_t oldt;
+ static struct {
+ struct utmp before;
+ struct utmp after;
+ } s;
+#if HAVE_UTMPX_H
+ static struct {
+ struct utmpx before;
+ struct utmpx after;
+ } sx;
+#endif
+
+ /*
+ ** Wouldn't it be great if stime returned the old time?
+ */
+ (void) time(&oldt);
+ if (stime(&newt) != 0)
+ oops("stime");
+ s.before.ut_type = OLD_TIME;
+ s.before.ut_time = oldt;
+ (void) strcpy(s.before.ut_line, OTIME_MSG);
+ s.after.ut_type = NEW_TIME;
+ s.after.ut_time = newt;
+ (void) strcpy(s.after.ut_line, NTIME_MSG);
+ fid = open(WTMP_FILE, O_WRONLY | O_APPEND);
+ if (fid < 0)
+ oops(_("log file open"));
+ if (write(fid, (char *) &s, sizeof s) != sizeof s)
+ oops(_("log file write"));
+ if (close(fid) != 0)
+ oops(_("log file close"));
+#if !HAVE_UTMPX_H
+ pututline(&s.before);
+ pututline(&s.after);
+#endif /* !HAVE_UTMPX_H */
+#if HAVE_UTMPX_H
+ sx.before.ut_type = OLD_TIME;
+ sx.before.ut_tv.tv_sec = oldt;
+ (void) strcpy(sx.before.ut_line, OTIME_MSG);
+ sx.after.ut_type = NEW_TIME;
+ sx.after.ut_tv.tv_sec = newt;
+ (void) strcpy(sx.after.ut_line, NTIME_MSG);
+#if !SUPPRESS_WTMPX_FILE_UPDATE
+ /* In Solaris 2.5 (and presumably other systems),
+ `date' does not update /var/adm/wtmpx.
+ This must be a bug. If you'd like to reproduce the bug,
+ define SUPPRESS_WTMPX_FILE_UPDATE to be nonzero. */
+ fid = open(WTMPX_FILE, O_WRONLY | O_APPEND);
+ if (fid < 0)
+ oops(_("log file open"));
+ if (write(fid, (char *) &sx, sizeof sx) != sizeof sx)
+ oops(_("log file write"));
+ if (close(fid) != 0)
+ oops(_("log file close"));
+#endif /* !SUPPRESS_WTMPX_FILE_UPDATE */
+ pututxline(&sx.before);
+ pututxline(&sx.after);
+#endif /* HAVE_UTMPX_H */
+}
+
+#endif /* defined OLD_TIME */
+#ifndef OLD_TIME
+
+/*
+** We assume we're on a BSD-based system,
+** should use settimeofday,
+** should write BSD-format utmp entries (using logwtmp),
+** and may get to worry about network notification.
+** The "time name" changes between 4.3-tahoe and 4.4;
+** we include sys/param.h to determine which we should use.
+*/
+
+#ifndef TIME_NAME
+#include "sys/param.h"
+#ifdef BSD4_4
+#define TIME_NAME "date"
+#endif /* defined BSD4_4 */
+#ifndef BSD4_4
+#define TIME_NAME ""
+#endif /* !defined BSD4_4 */
+#endif /* !defined TIME_NAME */
+
+#include "syslog.h"
+#include "sys/socket.h"
+#include "netinet/in.h"
+#include "netdb.h"
+#define TSPTYPES
+#include "protocols/timed.h"
+
+extern int logwtmp();
+
+#if HAVE_SETTIMEOFDAY == 1
+#define settimeofday(t, tz) (settimeofday)(t)
+#endif /* HAVE_SETTIMEOFDAY == 1 */
+
+#ifndef TSP_SETDATE
+/*ARGSUSED*/
+#endif /* !defined TSP_SETDATE */
+static void
+reset(newt, nflag)
+const time_t newt;
+const int nflag;
+{
+ register const char * username;
+ static struct timeval tv; /* static so tv_usec is 0 */
+
+#ifdef EBUG
+ return;
+#endif /* defined EBUG */
+ username = getlogin();
+ if (username == NULL || *username == '\0') /* single-user or no tty */
+ username = "root";
+ tv.tv_sec = newt;
+#ifdef TSP_SETDATE
+ if (nflag || !netsettime(tv))
+#endif /* defined TSP_SETDATE */
+ {
+ /*
+ ** "old" entry is always written, for compatibility.
+ */
+ logwtmp("|", TIME_NAME, "");
+ if (settimeofday(&tv, (struct timezone *) NULL) == 0) {
+ logwtmp("{", TIME_NAME, ""); /* } */
+ syslog(LOG_AUTH | LOG_NOTICE, _("date set by %s"),
+ username);
+ } else oops("settimeofday");
+ }
+}
+
+#endif /* !defined OLD_TIME */
+
+static void
+wildinput(item, value, reason)
+const char * const item;
+const char * const value;
+const char * const reason;
+{
+ (void) fprintf(stderr,
+ _("date: error: bad command line %s \"%s\", %s\n"),
+ item, value, reason);
+ usage();
+}
+
+static void
+errensure(void)
+{
+ if (retval == EXIT_SUCCESS)
+ retval = EXIT_FAILURE;
+}
+
+static const char *
+nondigit(cp)
+register const char * cp;
+{
+ while (is_digit(*cp))
+ ++cp;
+ return cp;
+}
+
+static void
+usage(void)
+{
+ (void) fprintf(stderr, _("date: usage is date [-u] [-c] [-n] [-d dst] \
+[-t min-west] [-a sss.fff] [[yyyy]mmddhhmm[yyyy][.ss]] [+format]\n"));
+ errensure();
+ exit(retval);
+}
+
+static void
+oops(string)
+const char * const string;
+{
+ int e = errno;
+
+ (void) fprintf(stderr, _("date: error: "));
+ errno = e;
+ (void) perror(string);
+ errensure();
+ display((char *) NULL);
+}
+
+static void
+display(format)
+const char * const format;
+{
+ struct tm tm;
+ time_t now;
+
+ (void) time(&now);
+ tm = *localtime(&now);
+ timeout(stdout, format ? format : "%+", &tm);
+ (void) putchar('\n');
+ (void) fflush(stdout);
+ (void) fflush(stderr);
+ if (ferror(stdout) || ferror(stderr)) {
+ (void) fprintf(stderr,
+ _("date: error: couldn't write results\n"));
+ errensure();
+ }
+ exit(retval);
+}
+
+extern size_t strftime();
+
+#define INCR 1024
+
+static void
+timeout(fp, format, tmp)
+FILE * const fp;
+const char * const format;
+const struct tm * const tmp;
+{
+ char * cp;
+ size_t result;
+ size_t size;
+
+ if (*format == '\0')
+ return;
+ size = INCR;
+ cp = malloc((size_t) size);
+ for ( ; ; ) {
+ if (cp == NULL) {
+ (void) fprintf(stderr,
+ _("date: error: can't get memory\n"));
+ errensure();
+ exit(retval);
+ }
+ cp[0] = '\1';
+ result = strftime(cp, size, format, tmp);
+ if (result != 0 || cp[0] == '\0')
+ break;
+ size += INCR;
+ cp = realloc(cp, (size_t) size);
+ }
+ (void) fwrite(cp, 1, result, fp);
+ free(cp);
+}
+
+static int
+comptm(atmp, btmp)
+register const struct tm * const atmp;
+register const struct tm * const btmp;
+{
+ register int result;
+
+ if ((result = (atmp->tm_year - btmp->tm_year)) == 0 &&
+ (result = (atmp->tm_mon - btmp->tm_mon)) == 0 &&
+ (result = (atmp->tm_mday - btmp->tm_mday)) == 0 &&
+ (result = (atmp->tm_hour - btmp->tm_hour)) == 0 &&
+ (result = (atmp->tm_min - btmp->tm_min)) == 0)
+ result = atmp->tm_sec - btmp->tm_sec;
+ return result;
+}
+
+/*
+** convert --
+** convert user's input into a time_t.
+*/
+
+#define ATOI2(ar) (ar[0] - '0') * 10 + (ar[1] - '0'); ar += 2;
+
+static time_t
+convert(register const char * const value, const int dousg, const time_t t)
+{
+ register const char * cp;
+ register const char * dotp;
+ register int cent, year_in_cent, month, hour, day, mins, secs;
+ struct tm tm, outtm;
+ time_t outt;
+
+ tm = *localtime(&t);
+#define DIVISOR 100
+ year_in_cent = tm.tm_year % DIVISOR + TM_YEAR_BASE % DIVISOR;
+ cent = tm.tm_year / DIVISOR + TM_YEAR_BASE / DIVISOR +
+ year_in_cent / DIVISOR;
+ year_in_cent %= DIVISOR;
+ if (year_in_cent < 0) {
+ year_in_cent += DIVISOR;
+ --cent;
+ }
+ month = tm.tm_mon + 1;
+ day = tm.tm_mday;
+ hour = tm.tm_hour;
+ mins = tm.tm_min;
+ secs = 0;
+
+ dotp = strchr(value, '.');
+ for (cp = value; *cp != '\0'; ++cp)
+ if (!is_digit(*cp) && cp != dotp)
+ wildinput(_("time"), value, _("contains a nondigit"));
+
+ if (dotp == NULL)
+ dotp = strchr(value, '\0');
+ else {
+ cp = dotp + 1;
+ if (strlen(cp) != 2)
+ wildinput(_("time"), value,
+ _("seconds part is not two digits"));
+ secs = ATOI2(cp);
+ }
+
+ cp = value;
+ switch (dotp - cp) {
+ default:
+ wildinput(_("time"), value,
+ _("main part is wrong length"));
+ case 12:
+ if (!dousg) {
+ cent = ATOI2(cp);
+ year_in_cent = ATOI2(cp);
+ }
+ month = ATOI2(cp);
+ day = ATOI2(cp);
+ hour = ATOI2(cp);
+ mins = ATOI2(cp);
+ if (dousg) {
+ cent = ATOI2(cp);
+ year_in_cent = ATOI2(cp);
+ }
+ break;
+ case 8: /* mmddhhmm */
+ month = ATOI2(cp);
+ /* fall through to. . . */
+ case 6: /* ddhhmm */
+ day = ATOI2(cp);
+ /* fall through to. . . */
+ case 4: /* hhmm */
+ hour = ATOI2(cp);
+ mins = ATOI2(cp);
+ break;
+ case 10:
+ if (!dousg) {
+ year_in_cent = ATOI2(cp);
+ }
+ month = ATOI2(cp);
+ day = ATOI2(cp);
+ hour = ATOI2(cp);
+ mins = ATOI2(cp);
+ if (dousg) {
+ year_in_cent = ATOI2(cp);
+ }
+ break;
+ }
+
+ tm.tm_year = cent * 100 + year_in_cent - TM_YEAR_BASE;
+ tm.tm_mon = month - 1;
+ tm.tm_mday = day;
+ tm.tm_hour = hour;
+ tm.tm_min = mins;
+ tm.tm_sec = secs;
+ tm.tm_isdst = -1;
+ outtm = tm;
+ outt = mktime(&outtm);
+ return (comptm(&tm, &outtm) == 0) ? outt : -1;
+}
+
+/*
+** Code from here on out is either based on code provided by UCB
+** or is only called just before the program exits.
+*/
+
+/*
+** Check for iffy input.
+*/
+
+static void
+checkfinal(const char * const value,
+ const int didusg,
+ const time_t t,
+ const time_t oldnow)
+{
+ time_t othert;
+ struct tm tm;
+ struct tm othertm;
+ register int pass;
+ register long offset;
+
+ /*
+ ** See if there's both a USG and a BSD interpretation.
+ */
+ othert = convert(value, !didusg, oldnow);
+ if (othert != -1 && othert != t)
+ iffy(t, othert, value, _("year could be at start or end"));
+ /*
+ ** See if there's both a DST and a STD version.
+ */
+ tm = *localtime(&t);
+ othertm = tm;
+ othertm.tm_isdst = !tm.tm_isdst;
+ othert = mktime(&othertm);
+ if (othert != -1 && othertm.tm_isdst != tm.tm_isdst &&
+ comptm(&tm, &othertm) == 0)
+ iffy(t, othert, value,
+ _("both standard and summer time versions exist"));
+/*
+** Final check.
+**
+** If a jurisdiction shifts time *without* shifting whether time is
+** summer or standard (as Hawaii, the United Kingdom, and Saudi Arabia
+** have done), routine checks for iffy times may not work.
+** So we perform this final check, deferring it until after the time has
+** been set--it may take a while, and we don't want to introduce an unnecessary
+** lag between the time the user enters their command and the time that
+** stime/settimeofday is called.
+**
+** We just check nearby times to see if any have the same representation
+** as the time that convert returned. We work our way out from the center
+** for quick response in solar time situations. We only handle common cases--
+** offsets of at most a minute, and offsets of exact numbers of minutes
+** and at most an hour.
+*/
+ for (offset = 1; offset <= 60; ++offset)
+ for (pass = 1; pass <= 4; ++pass) {
+ if (pass == 1)
+ othert = t + offset;
+ else if (pass == 2)
+ othert = t - offset;
+ else if (pass == 3)
+ othert = t + 60 * offset;
+ else othert = t - 60 * offset;
+ othertm = *localtime(&othert);
+ if (comptm(&tm, &othertm) == 0)
+ iffy(t, othert, value,
+ _("multiple matching times exist"));
+ }
+}
+
+static void
+iffy(const time_t thist, const time_t thatt,
+ const char * const value, const char * const reason)
+{
+ struct tm tm;
+
+ (void) fprintf(stderr, _("date: warning: ambiguous time \"%s\", %s.\n"),
+ value, reason);
+ tm = *gmtime(&thist);
+ /*
+ ** Avoid running afoul of SCCS!
+ */
+ timeout(stderr, _("Time was set as if you used\n\tdate -u %m%d%H\
+%M\
+%Y.%S\n"), &tm);
+ tm = *localtime(&thist);
+ timeout(stderr, _("to get %c"), &tm);
+ (void) fprintf(stderr, _(" (%s). Use\n"),
+ tm.tm_isdst ? _("summer time") : _("standard time"));
+ tm = *gmtime(&thatt);
+ timeout(stderr, _("\tdate -u %m%d%H\
+%M\
+%Y.%S\n"), &tm);
+ tm = *localtime(&thatt);
+ timeout(stderr, _("to get %c"), &tm);
+ (void) fprintf(stderr, _(" (%s).\n"),
+ tm.tm_isdst ? _("summer time") : _("standard time"));
+ errensure();
+ exit(retval);
+}
+
+#ifdef TSP_SETDATE
+#define WAITACK 2 /* seconds */
+#define WAITDATEACK 5 /* seconds */
+
+/*
+ * Set the date in the machines controlled by timedaemons
+ * by communicating the new date to the local timedaemon.
+ * If the timedaemon is in the master state, it performs the
+ * correction on all slaves. If it is in the slave state, it
+ * notifies the master that a correction is needed.
+ * Returns 1 on success, 0 on failure.
+ */
+netsettime(ntv)
+ struct timeval ntv;
+{
+ int s, length, port, timed_ack, found, err;
+ long waittime;
+ fd_set ready;
+ char hostname[MAXHOSTNAMELEN];
+ struct timeval tout;
+ struct servent *sp;
+ struct tsp msg;
+ struct sockaddr_in sin, dest, from;
+
+ sp = getservbyname("timed", "udp");
+ if (sp == 0) {
+ fputs(_("udp/timed: unknown service\n"), stderr);
+ retval = 2;
+ return (0);
+ }
+ dest.sin_port = sp->s_port;
+ dest.sin_family = AF_INET;
+ dest.sin_addr.s_addr = htonl((u_long)INADDR_ANY);
+ s = socket(AF_INET, SOCK_DGRAM, 0);
+ if (s < 0) {
+ if (errno != EPROTONOSUPPORT)
+ perror("date: socket");
+ goto bad;
+ }
+ bzero((char *)&sin, sizeof (sin));
+ sin.sin_family = AF_INET;
+ for (port = IPPORT_RESERVED - 1; port > IPPORT_RESERVED / 2; port--) {
+ sin.sin_port = htons((u_short)port);
+ if (bind(s, (struct sockaddr *)&sin, sizeof (sin)) >= 0)
+ break;
+ if (errno != EADDRINUSE) {
+ if (errno != EADDRNOTAVAIL)
+ perror("date: bind");
+ goto bad;
+ }
+ }
+ if (port == IPPORT_RESERVED / 2) {
+ fputs(_("date: All ports in use\n"), stderr);
+ goto bad;
+ }
+ msg.tsp_type = TSP_SETDATE;
+ msg.tsp_vers = TSPVERSION;
+ if (gethostname(hostname, sizeof (hostname))) {
+ perror("gethostname");
+ goto bad;
+ }
+ (void) strncpy(msg.tsp_name, hostname, sizeof (hostname));
+ msg.tsp_seq = htons((u_short)0);
+ msg.tsp_time.tv_sec = htonl((u_long)ntv.tv_sec);
+ msg.tsp_time.tv_usec = htonl((u_long)ntv.tv_usec);
+ length = sizeof (struct sockaddr_in);
+ if (connect(s, &dest, length) < 0) {
+ perror("date: connect");
+ goto bad;
+ }
+ if (send(s, (char *)&msg, sizeof (struct tsp), 0) < 0) {
+ if (errno != ECONNREFUSED)
+ perror("date: send");
+ goto bad;
+ }
+ timed_ack = -1;
+ waittime = WAITACK;
+loop:
+ tout.tv_sec = waittime;
+ tout.tv_usec = 0;
+ FD_ZERO(&ready);
+ FD_SET(s, &ready);
+ found = select(FD_SETSIZE, &ready, (fd_set *)0, (fd_set *)0, &tout);
+ length = sizeof err;
+ if (getsockopt(s, SOL_SOCKET, SO_ERROR, (char *)&err, &length) == 0
+ && err) {
+ errno = err;
+ if (errno != ECONNREFUSED)
+ perror(_("date: send (delayed error)"));
+ goto bad;
+ }
+ if (found > 0 && FD_ISSET(s, &ready)) {
+ length = sizeof (struct sockaddr_in);
+ if (recvfrom(s, (char *)&msg, sizeof (struct tsp), 0, &from,
+ &length) < 0) {
+ if (errno != ECONNREFUSED)
+ perror("date: recvfrom");
+ goto bad;
+ }
+ msg.tsp_seq = ntohs(msg.tsp_seq);
+ msg.tsp_time.tv_sec = ntohl(msg.tsp_time.tv_sec);
+ msg.tsp_time.tv_usec = ntohl(msg.tsp_time.tv_usec);
+ switch (msg.tsp_type) {
+
+ case TSP_ACK:
+ timed_ack = TSP_ACK;
+ waittime = WAITDATEACK;
+ goto loop;
+
+ case TSP_DATEACK:
+ (void)close(s);
+ return (1);
+
+ default:
+ fprintf(stderr,
+ _("date: Wrong ack received from timed: %s\n"),
+ tsptype[msg.tsp_type]);
+ timed_ack = -1;
+ break;
+ }
+ }
+ if (timed_ack == -1)
+ fputs(_("date: Can't reach time daemon, time set locally.\n"),
+ stderr);
+bad:
+ (void)close(s);
+ retval = 2;
+ return (0);
+}
+#endif /* defined TSP_SETDATE */
diff --git a/unused/itca.jpg b/unused/itca.jpg
new file mode 100644
index 000000000000..89a7119c0ccc
--- /dev/null
+++ b/unused/itca.jpg
Binary files differ
diff --git a/unused/newctime.3 b/unused/newctime.3
new file mode 100644
index 000000000000..323201e0c506
--- /dev/null
+++ b/unused/newctime.3
@@ -0,0 +1,239 @@
+.TH NEWCTIME 3
+.SH NAME
+asctime, ctime, difftime, gmtime, localtime, mktime \- convert date and time to ASCII
+.SH SYNOPSIS
+.nf
+.B extern char *tzname[2];
+.PP
+.B void tzset()
+.PP
+.B #include <sys/types.h>
+.PP
+.B char *ctime(clock)
+.B const time_t *clock;
+.PP
+.B double difftime(time1, time0)
+.B time_t time1;
+.B time_t time0;
+.PP
+.B #include <time.h>
+.PP
+.B char *asctime(tm)
+.B const struct tm *tm;
+.PP
+.B struct tm *localtime(clock)
+.B const time_t *clock;
+.PP
+.B struct tm *gmtime(clock)
+.B const time_t *clock;
+.PP
+.B time_t mktime(tm)
+.B struct tm *tm;
+.PP
+.B cc ... -ltz
+.fi
+.SH DESCRIPTION
+.I Ctime\^
+converts a long integer, pointed to by
+.IR clock ,
+representing the time in seconds since
+00:00:00 UTC, 1970-01-01,
+and returns a pointer to a
+string of the form
+.br
+.ce
+.eo
+Thu Nov 24 18:22:48 1986\n\0
+.br
+.ec
+Years requiring fewer than four characters are padded with leading zeroes.
+For years longer than four characters, the string is of the form
+.br
+.ce
+.eo
+Thu Nov 24 18:22:48 81986\n\0
+.ec
+.br
+with five spaces before the year.
+These unusual formats are designed to make it less likely that older
+software that expects exactly 26 bytes of output will mistakenly output
+misleading values for out-of-range years.
+.PP
+.I Localtime\^
+and
+.I gmtime\^
+return pointers to ``tm'' structures, described below.
+.I Localtime\^
+corrects for the time zone and any time zone adjustments
+(such as Daylight Saving Time in the United States).
+After filling in the ``tm'' structure,
+.I localtime
+sets the
+.BR tm_isdst 'th
+element of
+.B tzname
+to a pointer to an
+ASCII string that's the time zone abbreviation to be used with
+.IR localtime 's
+return value.
+.PP
+.I Gmtime\^
+converts to Coordinated Universal Time.
+.PP
+.I Asctime\^
+converts a time value contained in a
+``tm'' structure to a string,
+as shown in the above example,
+and returns a pointer to the string.
+.PP
+.I Mktime\^
+converts the broken-down time,
+expressed as local time,
+in the structure pointed to by
+.I tm
+into a calendar time value with the same encoding as that of the values
+returned by the
+.I time
+function.
+The original values of the
+.B tm_wday
+and
+.B tm_yday
+components of the structure are ignored,
+and the original values of the other components are not restricted
+to their normal ranges.
+(A positive or zero value for
+.B tm_isdst
+causes
+.I mktime
+to presume initially that summer time (for example, Daylight Saving Time
+in the U.S.A.)
+respectively,
+is or is not in effect for the specified time.
+A negative value for
+.B tm_isdst
+causes the
+.I mktime
+function to attempt to divine whether summer time is in effect
+for the specified time; in this case it does not use a consistent
+rule and may give a different answer when later
+presented with the same argument.)
+On successful completion, the values of the
+.B tm_wday
+and
+.B tm_yday
+components of the structure are set appropriately,
+and the other components are set to represent the specified calendar time,
+but with their values forced to their normal ranges; the final value of
+.B tm_mday
+is not set until
+.B tm_mon
+and
+.B tm_year
+are determined.
+.I Mktime\^
+returns the specified calendar time;
+If the calendar time cannot be represented,
+it returns
+.BR -1 .
+.PP
+.I Difftime\^
+returns the difference between two calendar times,
+.RI ( time1
+-
+.IR time0 ),
+expressed in seconds.
+.PP
+Declarations of all the functions and externals, and the ``tm'' structure,
+are in the
+.B <time.h>\^
+header file.
+The structure (of type)
+.B struct tm
+includes the following fields:
+.RS
+.PP
+.nf
+.ta .5i +\w'long tm_gmtoff;\0\0'u
+ int tm_sec; /\(** seconds (0 - 60) \(**/
+ int tm_min; /\(** minutes (0 - 59) \(**/
+ int tm_hour; /\(** hours (0 - 23) \(**/
+ int tm_mday; /\(** day of month (1 - 31) \(**/
+ int tm_mon; /\(** month of year (0 - 11) \(**/
+ int tm_year; /\(** year \- 1900 \(**/
+ int tm_wday; /\(** day of week (Sunday = 0) \(**/
+ int tm_yday; /\(** day of year (0 - 365) \(**/
+ int tm_isdst; /\(** is summer time in effect? \(**/
+ char \(**tm_zone; /\(** abbreviation of timezone name \(**/
+ long tm_gmtoff; /\(** offset from UTC in seconds \(**/
+.fi
+.RE
+.PP
+The
+.I tm_zone
+and
+.I tm_gmtoff
+fields exist, and are filled in, only if arrangements to do
+so were made when the library containing these functions was
+created.
+There is no guarantee that these fields will continue to exist
+in this form in future releases of this code.
+.PP
+.I Tm_isdst\^
+is non-zero if summer time is in effect.
+.PP
+.I Tm_gmtoff
+is the offset (in seconds) of the time represented
+from UTC, with positive values indicating east
+of the Prime Meridian.
+.SH FILES
+.ta \w'/usr/local/etc/zoneinfo/posixrules\0\0'u
+/usr/local/etc/zoneinfo time zone information directory
+.br
+/usr/local/etc/zoneinfo/localtime local time zone file
+.br
+/usr/local/etc/zoneinfo/posixrules used with POSIX-style TZ's
+.br
+/usr/local/etc/zoneinfo/GMT for UTC leap seconds
+.sp
+If
+.B /usr/local/etc/zoneinfo/GMT
+is absent,
+UTC leap seconds are loaded from
+.BR /usr/local/etc/zoneinfo/posixrules .
+.SH SEE ALSO
+getenv(3),
+newstrftime(3),
+newtzset(3),
+time(2),
+tzfile(5)
+.SH NOTES
+The return values point to static data;
+the data is overwritten by each call.
+The
+.B tm_zone
+field of a returned
+.B "struct tm"
+points to a static array of characters, which
+will also be overwritten at the next call
+(and by calls to
+.IR tzset ).
+.PP
+.I Asctime\^
+and
+.I ctime\^
+behave strangely for years before 1000 or after 9999.
+The 1989 and 1999 editions of the C Standard say
+that years from \-99 through 999 are converted without
+extra spaces, but this conflicts with longstanding
+tradition and with this implementation.
+Traditional implementations of these two functions are
+restricted to years in the range 1900 through 2099.
+To avoid this portability mess, new programs should use
+.I strftime\^
+instead.
+.PP
+Avoid using out-of-range values with
+.I mktime
+when setting up lunch with promptness sticklers in Riyadh.
+.\" @(#)newctime.3 8.2
diff --git a/unused/newctime.3.txt b/unused/newctime.3.txt
new file mode 100644
index 000000000000..ba311400474a
--- /dev/null
+++ b/unused/newctime.3.txt
@@ -0,0 +1,149 @@
+NAME
+
+ asctime, ctime, difftime, gmtime, localtime, mktime -
+ convert date and time to ASCII
+
+SYNOPSIS
+ extern char *tzname[2];
+
+ void tzset()
+
+ #include <sys/types.h>
+
+ char *ctime(clock)
+ const time_t *clock;
+
+ double difftime(time1, time0)
+ time_t time1;
+ time_t time0;
+
+ #include <time.h>
+
+ char *asctime(tm)
+ const struct tm *tm;
+
+ struct tm *localtime(clock)
+ const time_t *clock;
+
+ struct tm *gmtime(clock)
+ const time_t *clock;
+
+ time_t mktime(tm)
+ struct tm *tm;
+
+ cc ... -ltz
+
+DESCRIPTION
+ Ctime converts a long integer, pointed to by clock,
+ representing the time in seconds since 00:00:00 UTC,
+ 1970-01-01, and returns a pointer to a string of the form
+ Thu Nov 24 18:22:48 1986\n\0
+ Years requiring fewer than four characters are padded with
+ leading zeroes. For years longer than four characters, the
+ string is of the form
+ Thu Nov 24 18:22:48 81986\n\0
+ with five spaces before the year. These unusual formats are
+ designed to make it less likely that older software that
+ expects exactly 26 bytes of output will mistakenly output
+ misleading values for out-of-range years.
+
+ Localtime and gmtime return pointers to ``tm'' structures,
+ described below. Localtime corrects for the time zone and
+ any time zone adjustments (such as Daylight Saving Time in
+ the United States). After filling in the ``tm'' structure,
+ localtime sets the tm_isdst'th element of tzname to a
+ pointer to an ASCII string that's the time zone abbreviation
+ to be used with localtime's return value.
+
+ Gmtime converts to Coordinated Universal Time.
+
+ Asctime converts a time value contained in a ``tm''
+ structure to a string, as shown in the above example, and
+ returns a pointer to the string.
+
+ Mktime converts the broken-down time, expressed as local
+ time, in the structure pointed to by tm into a calendar time
+ value with the same encoding as that of the values returned
+ by the time function. The original values of the tm_wday
+ and tm_yday components of the structure are ignored, and the
+ original values of the other components are not restricted
+ to their normal ranges. (A positive or zero value for
+ tm_isdst causes mktime to presume initially that summer time
+ (for example, Daylight Saving Time in the U.S.A.)
+ respectively, is or is not in effect for the specified time.
+ A negative value for tm_isdst causes the mktime function to
+ attempt to divine whether summer time is in effect for the
+ specified time; in this case it does not use a consistent
+ rule and may give a different answer when later presented
+ with the same argument.) On successful completion, the
+ values of the tm_wday and tm_yday components of the
+ structure are set appropriately, and the other components
+ are set to represent the specified calendar time, but with
+ their values forced to their normal ranges; the final value
+ of tm_mday is not set until tm_mon and tm_year are
+ determined. Mktime returns the specified calendar time; If
+ the calendar time cannot be represented, it returns -1.
+
+ Difftime returns the difference between two calendar times,
+ (time1 - time0), expressed in seconds.
+
+ Declarations of all the functions and externals, and the
+ ``tm'' structure, are in the <time.h> header file. The
+ structure (of type) struct tm includes the following fields:
+
+ int tm_sec; /* seconds (0 - 60) */
+ int tm_min; /* minutes (0 - 59) */
+ int tm_hour; /* hours (0 - 23) */
+ int tm_mday; /* day of month (1 - 31) */
+ int tm_mon; /* month of year (0 - 11) */
+ int tm_year; /* year - 1900 */
+ int tm_wday; /* day of week (Sunday = 0) */
+ int tm_yday; /* day of year (0 - 365) */
+ int tm_isdst; /* is summer time in effect? */
+ char *tm_zone; /* abbreviation of timezone name */
+ long tm_gmtoff; /* offset from UTC in seconds */
+
+ The tm_zone and tm_gmtoff fields exist, and are filled in,
+ only if arrangements to do so were made when the library
+ containing these functions was created. There is no
+ guarantee that these fields will continue to exist in this
+ form in future releases of this code.
+
+ Tm_isdst is non-zero if summer time is in effect.
+
+ Tm_gmtoff is the offset (in seconds) of the time represented
+ from UTC, with positive values indicating east of the Prime
+ Meridian.
+
+FILES
+ /usr/local/etc/zoneinfo time zone information
+ directory
+ /usr/local/etc/zoneinfo/localtime local time zone file
+ /usr/local/etc/zoneinfo/posixrules used with POSIX-style
+ TZ's
+ /usr/local/etc/zoneinfo/GMT for UTC leap seconds
+
+ If /usr/local/etc/zoneinfo/GMT is absent, UTC leap seconds
+ are loaded from /usr/local/etc/zoneinfo/posixrules.
+
+SEE ALSO
+ getenv(3), newstrftime(3), newtzset(3), time(2), tzfile(5)
+
+NOTES
+ The return values point to static data; the data is
+ overwritten by each call. The tm_zone field of a returned
+ struct tm points to a static array of characters, which will
+ also be overwritten at the next call (and by calls to
+ tzset).
+
+ Asctime and ctime behave strangely for years before 1000 or
+ after 9999. The 1989 and 1999 editions of the C Standard
+ say that years from -99 through 999 are converted without
+ extra spaces, but this conflicts with longstanding tradition
+ and with this implementation. Traditional implementations
+ of these two functions are restricted to years in the range
+ 1900 through 2099. To avoid this portability mess, new
+ programs should use strftime instead.
+
+ Avoid using out-of-range values with mktime when setting up
+ lunch with promptness sticklers in Riyadh.
diff --git a/unused/newstrftime.3 b/unused/newstrftime.3
new file mode 100644
index 000000000000..92392dcc3264
--- /dev/null
+++ b/unused/newstrftime.3
@@ -0,0 +1,230 @@
+.\" Based on the UCB file whose copyright information appears below.
+.\" Copyright (c) 1989, 1991 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the American National Standards Committee X3, on Information
+.\" Processing Systems.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from: @(#)strftime.3 5.12 (Berkeley) 6/29/91
+.\" $Id: strftime.3,v 1.4 1993/12/15 20:33:00 jtc Exp $
+.\"
+.TH NEWSTRFTIME 3
+.SH NAME
+strftime \- format date and time
+.SH SYNOPSIS
+.nf
+.B #include <sys/types.h>
+.B #include <time.h>
+.PP
+.B size_t strftime(buf, maxsize, format, timeptr)
+.B char *buf;
+.B size_t maxsize;
+.B const char *format;
+.B const struct tm *timeptr
+.PP
+.B cc ... -ltz
+.fi
+.SH DESCRIPTION
+The
+.I strftime\^
+function formats the information from
+.I timeptr\^
+into the buffer
+.I buf\^
+according to the string pointed to by
+.IR format\^ .
+.PP
+The
+.I format\^
+string consists of zero or more conversion specifications and
+ordinary characters.
+All ordinary characters are copied directly into the buffer.
+A conversion specification consists of a percent sign
+.Ql %
+and one other character.
+.PP
+No more than
+.I maxsize\^
+characters are be placed into the array.
+If the total number of resulting characters, including the terminating
+null character, is not more than
+.IR maxsize\^ ,
+.I strftime\^
+returns the number of characters in the array, not counting the
+terminating null.
+Otherwise, zero is returned.
+.PP
+Each conversion specification is replaced by the characters as
+follows which are then copied into the buffer.
+.TP
+%A
+is replaced by the locale's full weekday name.
+.TP
+%a
+is replaced by the locale's abbreviated weekday name.
+.TP
+%B
+is replaced by the locale's full month name.
+.TP
+%b or %h
+is replaced by the locale's abbreviated month name.
+.TP
+%C
+is replaced by the century (a year divided by 100 and truncated to an integer)
+as a decimal number (00-99).
+.TP
+%c
+is replaced by the locale's appropriate date and time representation.
+.TP
+%D
+is replaced by the date in the format %m/%d/%y.
+.TP
+%d
+is replaced by the day of the month as a decimal number (01-31).
+.TP
+%e
+is replaced by the day of month as a decimal number (1-31);
+single digits are preceded by a blank.
+.TP
+%F
+is replaced by the date in the format %Y-%m-%d.
+.TP
+%G
+is replaced by the ISO 8601 year with century as a decimal number.
+.TP
+%g
+is replaced by the ISO 8601 year without century as a decimal number (00-99).
+.TP
+%H
+is replaced by the hour (24-hour clock) as a decimal number (00-23).
+.TP
+%I
+is replaced by the hour (12-hour clock) as a decimal number (01-12).
+.TP
+%j
+is replaced by the day of the year as a decimal number (001-366).
+.TP
+%k
+is replaced by the hour (24-hour clock) as a decimal number (0-23);
+single digits are preceded by a blank.
+.TP
+%l
+is replaced by the hour (12-hour clock) as a decimal number (1-12);
+single digits are preceded by a blank.
+.TP
+%M
+is replaced by the minute as a decimal number (00-59).
+.TP
+%m
+is replaced by the month as a decimal number (01-12).
+.TP
+%n
+is replaced by a newline.
+.TP
+%p
+is replaced by the locale's equivalent of either AM or PM.
+.TP
+%R
+is replaced by the time in the format %H:%M.
+.TP
+%r
+is replaced by the locale's representation of 12-hour clock time
+using AM/PM notation.
+.TP
+%S
+is replaced by the second as a decimal number (00-60).
+.TP
+%s
+is replaced by the number of seconds since the Epoch, UTC (see mktime(3)).
+.TP
+%T
+is replaced by the time in the format %H:%M:%S.
+.TP
+%t
+is replaced by a tab.
+.TP
+%U
+is replaced by the week number of the year (Sunday as the first day of
+the week) as a decimal number (00-53).
+.TP
+%u
+is replaced by the weekday (Monday as the first day of the week)
+as a decimal number (1-7).
+.TP
+%V
+is replaced by the week number of the year (Monday as the first day of
+the week) as a decimal number (01-53). If the week containing January
+1 has four or more days in the new year, then it is week 1; otherwise
+it is week 53 of the previous year, and the next week is week 1.
+.TP
+%W
+is replaced by the week number of the year (Monday as the first day of
+the week) as a decimal number (00-53).
+.TP
+%w
+is replaced by the weekday (Sunday as the first day of the week)
+as a decimal number (0-6).
+.TP
+%X
+is replaced by the locale's appropriate time representation.
+.TP
+%x
+is replaced by the locale's appropriate date representation.
+.TP
+%Y
+is replaced by the year with century as a decimal number.
+.TP
+%y
+is replaced by the year without century as a decimal number (00-99).
+.TP
+%Z
+is replaced by the time zone name,
+or by the empty string if this is not determinable.
+.TP
+%z
+is replaced by the offset from UTC in the format +HHMM or -HHMM as appropriate,
+with positive values representing locations east of Greenwich,
+or by the empty string if this is not determinable.
+.TP
+%%
+is replaced by a single %.
+.TP
+%+
+is replaced by the date and time in date(1) format.
+.SH SEE ALSO
+date(1),
+getenv(3),
+newctime(3),
+newtzset(3),
+time(2),
+tzfile(5)
+.\" @(#)newstrftime.3 8.1
diff --git a/unused/newstrftime.3.txt b/unused/newstrftime.3.txt
new file mode 100644
index 000000000000..ea210a869f4a
--- /dev/null
+++ b/unused/newstrftime.3.txt
@@ -0,0 +1,149 @@
+NAME
+
+ strftime - format date and time
+
+SYNOPSIS
+ #include <sys/types.h>
+ #include <time.h>
+
+ size_t strftime(buf, maxsize, format, timeptr)
+ char *buf;
+ size_t maxsize;
+ const char *format;
+ const struct tm *timeptr
+
+ cc ... -ltz
+
+DESCRIPTION
+ The strftime function formats the information from timeptr
+ into the buffer buf according to the string pointed to by
+ format.
+
+ The format string consists of zero or more conversion
+ specifications and ordinary characters. All ordinary
+ characters are copied directly into the buffer. A
+ conversion specification consists of a percent sign and one
+ other character.
+
+ No more than maxsize characters are be placed into the
+ array. If the total number of resulting characters,
+ including the terminating null character, is not more than
+ maxsize, strftime returns the number of characters in the
+ array, not counting the terminating null. Otherwise, zero
+ is returned.
+
+ Each conversion specification is replaced by the characters
+ as follows which are then copied into the buffer.
+
+ %A is replaced by the locale's full weekday name.
+
+ %a is replaced by the locale's abbreviated weekday name.
+
+ %B is replaced by the locale's full month name.
+
+ %b or %h
+ is replaced by the locale's abbreviated month name.
+
+ %C is replaced by the century (a year divided by 100 and
+ truncated to an integer) as a decimal number (00-99).
+
+ %c is replaced by the locale's appropriate date and time
+ representation.
+
+ %D is replaced by the date in the format %m/%d/%y.
+
+ %d is replaced by the day of the month as a decimal number
+ (01-31).
+
+ %e is replaced by the day of month as a decimal number
+ (1-31); single digits are preceded by a blank.
+ %F is replaced by the date in the format %Y-%m-%d.
+
+ %G is replaced by the ISO 8601 year with century as a
+ decimal number.
+
+ %g is replaced by the ISO 8601 year without century as a
+ decimal number (00-99).
+ %H is replaced by the hour (24-hour clock) as a decimal
+ number (00-23).
+
+ %I is replaced by the hour (12-hour clock) as a decimal
+ number (01-12).
+
+ %j is replaced by the day of the year as a decimal number
+ (001-366).
+
+ %k is replaced by the hour (24-hour clock) as a decimal
+ number (0-23); single digits are preceded by a blank.
+
+ %l is replaced by the hour (12-hour clock) as a decimal
+ number (1-12); single digits are preceded by a blank.
+
+ %M is replaced by the minute as a decimal number (00-59).
+
+ %m is replaced by the month as a decimal number (01-12).
+
+ %n is replaced by a newline.
+
+ %p is replaced by the locale's equivalent of either AM or
+ PM.
+
+ %R is replaced by the time in the format %H:%M.
+
+ %r is replaced by the locale's representation of 12-hour
+ clock time using AM/PM notation.
+
+ %S is replaced by the second as a decimal number (00-60).
+
+ %s is replaced by the number of seconds since the Epoch,
+ UTC (see mktime(3)).
+
+ %T is replaced by the time in the format %H:%M:%S.
+
+ %t is replaced by a tab.
+
+ %U is replaced by the week number of the year (Sunday as
+ the first day of the week) as a decimal number (00-53).
+
+ %u is replaced by the weekday (Monday as the first day of
+ the week) as a decimal number (1-7).
+
+ %V is replaced by the week number of the year (Monday as
+ the first day of the week) as a decimal number (01-53).
+ If the week containing January 1 has four or more days
+ in the new year, then it is week 1; otherwise it is
+ week 53 of the previous year, and the next week is week
+ 1.
+
+ %W is replaced by the week number of the year (Monday as
+ the first day of the week) as a decimal number (00-53).
+
+ %w is replaced by the weekday (Sunday as the first day of
+ the week) as a decimal number (0-6).
+
+ %X is replaced by the locale's appropriate time
+ representation.
+ %x is replaced by the locale's appropriate date
+ representation.
+
+ %Y is replaced by the year with century as a decimal
+ number.
+
+ %y is replaced by the year without century as a decimal
+ number (00-99).
+
+ %Z is replaced by the time zone name, or by the empty
+ string if this is not determinable.
+
+ %z is replaced by the offset from UTC in the format +HHMM
+ or -HHMM as appropriate, with positive values
+ representing locations east of Greenwich, or by the
+ empty string if this is not determinable.
+
+ %% is replaced by a single %.
+
+ %+ is replaced by the date and time in date(1) format.
+
+SEE ALSO
+ date(1), getenv(3), newctime(3), newtzset(3), time(2),
+ tzfile(5)
diff --git a/unused/newtzset.3 b/unused/newtzset.3
new file mode 100644
index 000000000000..e19ad7033e16
--- /dev/null
+++ b/unused/newtzset.3
@@ -0,0 +1,237 @@
+.TH NEWTZSET 3
+.SH NAME
+tzset \- initialize time conversion information
+.SH SYNOPSIS
+.nf
+.B void tzset()
+.PP
+.B cc ... -ltz
+.fi
+.SH DESCRIPTION
+.I Tzset
+uses the value of the environment variable
+.B TZ
+to set time conversion information used by
+.IR localtime .
+If
+.B TZ
+does not appear in the environment,
+the best available approximation to local wall clock time, as specified
+by the
+.IR tzfile (5)-format
+file
+.B localtime
+in the system time conversion information directory, is used by
+.IR localtime .
+If
+.B TZ
+appears in the environment but its value is a null string,
+Coordinated Universal Time (UTC) is used (without leap second
+correction). If
+.B TZ
+appears in the environment and its value is not a null string:
+.IP
+if the value begins with a colon, it is used as a pathname of a file
+from which to read the time conversion information;
+.IP
+if the value does not begin with a colon, it is first used as the
+pathname of a file from which to read the time conversion information,
+and, if that file cannot be read, is used directly as a specification of
+the time conversion information.
+.PP
+When
+.B TZ
+is used as a pathname, if it begins with a slash,
+it is used as an absolute pathname; otherwise,
+it is used as a pathname relative to a system time conversion information
+directory.
+The file must be in the format specified in
+.IR tzfile (5).
+.PP
+When
+.B TZ
+is used directly as a specification of the time conversion information,
+it must have the following syntax (spaces inserted for clarity):
+.IP
+\fIstd\|offset\fR[\fIdst\fR[\fIoffset\fR][\fB,\fIrule\fR]]
+.PP
+Where:
+.RS
+.TP 15
+.IR std " and " dst
+Three or more bytes that are the designation for the standard
+.RI ( std )
+or summer
+.RI ( dst )
+time zone. Only
+.I std
+is required; if
+.I dst
+is missing, then summer time does not apply in this locale.
+Upper- and lowercase letters are explicitly allowed. Any characters
+except a leading colon
+.RB ( : ),
+digits, comma
+.RB ( , ),
+minus
+.RB ( \(mi ),
+plus
+.RB ( \(pl ),
+and ASCII NUL are allowed.
+.TP
+.I offset
+Indicates the value one must add to the local time to arrive at
+Coordinated Universal Time. The
+.I offset
+has the form:
+.RS
+.IP
+\fIhh\fR[\fB:\fImm\fR[\fB:\fIss\fR]]
+.RE
+.IP
+The minutes
+.RI ( mm )
+and seconds
+.RI ( ss )
+are optional. The hour
+.RI ( hh )
+is required and may be a single digit. The
+.I offset
+following
+.I std
+is required. If no
+.I offset
+follows
+.IR dst ,
+summer time is assumed to be one hour ahead of standard time. One or
+more digits may be used; the value is always interpreted as a decimal
+number. The hour must be between zero and 24, and the minutes (and
+seconds) \(em if present \(em between zero and 59. If preceded by a
+.RB `` \(mi '',
+the time zone shall be east of the Prime Meridian; otherwise it shall be
+west (which may be indicated by an optional preceding
+.RB `` \(pl '').
+.TP
+.I rule
+Indicates when to change to and back from summer time. The
+.I rule
+has the form:
+.RS
+.IP
+\fIdate\fB/\fItime\fB,\fIdate\fB/\fItime\fR
+.RE
+.IP
+where the first
+.I date
+describes when the change from standard to summer time occurs and the
+second
+.I date
+describes when the change back happens. Each
+.I time
+field describes when, in current local time, the change to the other
+time is made.
+.IP
+The format of
+.I date
+is one of the following:
+.RS
+.TP 10
+.BI J n
+The Julian day
+.I n
+.RI "(1\ \(<=" "\ n\ " "\(<=\ 365).
+Leap days are not counted; that is, in all years \(em including leap
+years \(em February 28 is day 59 and March 1 is day 60. It is
+impossible to explicitly refer to the occasional February 29.
+.TP
+.I n
+The zero-based Julian day
+.RI "(0\ \(<=" "\ n\ " "\(<=\ 365).
+Leap days are counted, and it is possible to refer to February 29.
+.TP
+.BI M m . n . d
+The
+.IR d' th
+day
+.RI "(0\ \(<=" "\ d\ " "\(<=\ 6)
+of week
+.I n
+of month
+.I m
+of the year
+.RI "(1\ \(<=" "\ n\ " "\(<=\ 5,
+.RI "1\ \(<=" "\ m\ " "\(<=\ 12,
+where week 5 means ``the last
+.I d
+day in month
+.IR m ''
+which may occur in either the fourth or the fifth week). Week 1 is the
+first week in which the
+.IR d' th
+day occurs. Day zero is Sunday.
+.RE
+.IP "" 15
+The
+.I time
+has the same format as
+.I offset
+except that no leading sign
+.RB (`` \(mi ''
+or
+.RB `` \(pl '')
+is allowed. The default, if
+.I time
+is not given, is
+.BR 02:00:00 .
+.RE
+.LP
+If no
+.I rule
+is present in
+.BR TZ ,
+the rules specified
+by the
+.IR tzfile (5)-format
+file
+.B posixrules
+in the system time conversion information directory are used, with the
+standard and summer time offsets from UTC replaced by those specified by
+the
+.I offset
+values in
+.BR TZ .
+.PP
+For compatibility with System V Release 3.1, a semicolon
+.RB ( ; )
+may be used to separate the
+.I rule
+from the rest of the specification.
+.PP
+If the
+.B TZ
+environment variable does not specify a
+.IR tzfile (5)-format
+and cannot be interpreted as a direct specification,
+UTC is used.
+.SH FILES
+.ta \w'/usr/local/etc/zoneinfo/posixrules\0\0'u
+/usr/local/etc/zoneinfo time zone information directory
+.br
+/usr/local/etc/zoneinfo/localtime local time zone file
+.br
+/usr/local/etc/zoneinfo/posixrules used with POSIX-style TZ's
+.br
+/usr/local/etc/zoneinfo/GMT for UTC leap seconds
+.sp
+If
+.B /usr/local/etc/zoneinfo/GMT
+is absent,
+UTC leap seconds are loaded from
+.BR /usr/local/etc/zoneinfo/posixrules .
+.SH SEE ALSO
+getenv(3),
+newctime(3),
+newstrftime(3),
+time(2),
+tzfile(5)
+.\" @(#)newtzset.3 8.1
diff --git a/unused/newtzset.3.txt b/unused/newtzset.3.txt
new file mode 100644
index 000000000000..9d7d02233ee0
--- /dev/null
+++ b/unused/newtzset.3.txt
@@ -0,0 +1,153 @@
+NAME
+
+ tzset - initialize time conversion information
+
+SYNOPSIS
+ void tzset()
+
+ cc ... -ltz
+
+DESCRIPTION
+ Tzset uses the value of the environment variable TZ to set
+ time conversion information used by localtime. If TZ does
+ not appear in the environment, the best available
+ approximation to local wall clock time, as specified by the
+ tzfile(5)-format file localtime in the system time
+ conversion information directory, is used by localtime. If
+ TZ appears in the environment but its value is a null
+ string, Coordinated Universal Time (UTC) is used (without
+ leap second correction). If TZ appears in the environment
+ and its value is not a null string:
+
+ if the value begins with a colon, it is used as a
+ pathname of a file from which to read the time
+ conversion information;
+
+ if the value does not begin with a colon, it is first
+ used as the pathname of a file from which to read the
+ time conversion information, and, if that file cannot
+ be read, is used directly as a specification of the
+ time conversion information.
+
+ When TZ is used as a pathname, if it begins with a slash, it
+ is used as an absolute pathname; otherwise, it is used as a
+ pathname relative to a system time conversion information
+ directory. The file must be in the format specified in
+ tzfile(5).
+
+ When TZ is used directly as a specification of the time
+ conversion information, it must have the following syntax
+ (spaces inserted for clarity):
+
+ stdoffset[dst[offset][,rule]]
+
+ Where:
+
+ std and dst Three or more bytes that are the
+ designation for the standard (std) or
+ summer (dst) time zone. Only std is
+ required; if dst is missing, then summer
+ time does not apply in this locale.
+ Upper- and lowercase letters are
+ explicitly allowed. Any characters
+ except a leading colon (:), digits,
+ comma (,), minus (-), plus (+), and
+ ASCII NUL are allowed.
+
+ offset Indicates the value one must add to the
+ local time to arrive at Coordinated
+ Universal Time. The offset has the
+ form:
+
+ hh[:mm[:ss]]
+
+ The minutes (mm) and seconds (ss) are
+ optional. The hour (hh) is required and
+ may be a single digit. The offset
+ following std is required. If no offset
+ follows dst, summer time is assumed to
+ be one hour ahead of standard time. One
+ or more digits may be used; the value is
+ always interpreted as a decimal number.
+ The hour must be between zero and 24,
+ and the minutes (and seconds) -- if
+ present -- between zero and 59. If
+ preceded by a ``-'', the time zone shall
+ be east of the Prime Meridian; otherwise
+ it shall be west (which may be indicated
+ by an optional preceding ``+'').
+
+ rule Indicates when to change to and back
+ from summer time. The rule has the
+ form:
+
+ date/time,date/time
+
+ where the first date describes when the
+ change from standard to summer time
+ occurs and the second date describes
+ when the change back happens. Each time
+ field describes when, in current local
+ time, the change to the other time is
+ made.
+
+ The format of date is one of the
+ following:
+
+ Jn The Julian day n
+ (1 <= n <= 365). Leap days
+ are not counted; that is, in
+ all years -- including leap
+ years -- February 28 is day 59
+ and March 1 is day 60. It is
+ impossible to explicitly refer
+ to the occasional February 29.
+
+ n The zero-based Julian day
+ (0 <= n <= 365). Leap days
+ are counted, and it is
+ possible to refer to February
+ 29.
+
+ Mm.n.d The d'th day (0 <= d <= 6) of
+ week n of month m of the year
+ (1 <= n <= 5, 1 <= m <= 12,
+ where week 5 means ``the last
+ d day in month m'' which may
+ occur in either the fourth or
+ the fifth week). Week 1 is
+ the first week in which the
+ d'th day occurs. Day zero is
+ Sunday.
+
+ The time has the same format as offset
+ except that no leading sign (``-'' or
+ ``+'') is allowed. The default, if time
+ is not given, is 02:00:00.
+
+ If no rule is present in TZ, the rules specified by the
+ tzfile(5)-format file posixrules in the system time
+ conversion information directory are used, with the standard
+ and summer time offsets from UTC replaced by those specified
+ by the offset values in TZ.
+ For compatibility with System V Release 3.1, a semicolon (;)
+ may be used to separate the rule from the rest of the
+ specification.
+
+ If the TZ environment variable does not specify a
+ tzfile(5)-format and cannot be interpreted as a direct
+ specification, UTC is used.
+
+FILES
+ /usr/local/etc/zoneinfo time zone information
+ directory
+ /usr/local/etc/zoneinfo/localtime local time zone file
+ /usr/local/etc/zoneinfo/posixrules used with POSIX-style
+ TZ's
+ /usr/local/etc/zoneinfo/GMT for UTC leap seconds
+
+ If /usr/local/etc/zoneinfo/GMT is absent, UTC leap seconds
+ are loaded from /usr/local/etc/zoneinfo/posixrules.
+
+SEE ALSO
+ getenv(3), newctime(3), newstrftime(3), time(2), tzfile(5)
diff --git a/unused/time2posix.3.txt b/unused/time2posix.3.txt
new file mode 100644
index 000000000000..1bcf168e2e6c
--- /dev/null
+++ b/unused/time2posix.3.txt
@@ -0,0 +1,83 @@
+NAME
+
+ time2posix, posix2time - convert seconds since the Epoch
+
+SYNOPSIS
+ #include <sys/types.h>
+ #include <time.h>
+
+ time_t time2posix(t)
+ time_t t
+
+ time_t posix2time(t)
+ time_t t
+
+ cc ... -ltz
+
+DESCRIPTION
+ IEEE Standard 1003.1 (POSIX) legislates that a time_t value
+ of 536457599 shall correspond to "Wed Dec 31 23:59:59 UTC
+ 1986." This effectively implies that POSIX time_t's cannot
+ include leap seconds and, therefore, that the system time
+ must be adjusted as each leap occurs.
+
+ If the time package is configured with leap-second support
+ enabled, however, no such adjustment is needed and time_t
+ values continue to increase over leap events (as a true
+ `seconds since...' value). This means that these values
+ will differ from those required by POSIX by the net number
+ of leap seconds inserted since the Epoch.
+
+ Typically this is not a problem as the type time_t is
+ intended to be (mostly) opaque--time_t values should only be
+ obtained-from and passed-to functions such as time(2),
+ localtime(3), mktime(3), and difftime(3). However, POSIX
+ gives an arithmetic expression for directly computing a
+ time_t value from a given date/time, and the same
+ relationship is assumed by some (usually older)
+ applications. Any programs creating/dissecting time_t's
+ using such a relationship will typically not handle
+ intervals over leap seconds correctly.
+
+ The time2posix and posix2time functions are provided to
+ address this time_t mismatch by converting between local
+ time_t values and their POSIX equivalents. This is done by
+ accounting for the number of time-base changes that would
+ have taken place on a POSIX system as leap seconds were
+ inserted or deleted. These converted values can then be
+ used in lieu of correcting the older applications, or when
+ communicating with POSIX-compliant systems.
+
+ Time2posix is single-valued. That is, every local time_t
+ corresponds to a single POSIX time_t. Posix2time is less
+ well-behaved: for a positive leap second hit the result is
+ not unique, and for a negative leap second hit the
+ corresponding POSIX time_t doesn't exist so an adjacent
+ value is returned. Both of these are good indicators of the
+ inferiority of the POSIX representation.
+
+ The following table summarizes the relationship between a
+ time T and it's conversion to, and back from, the POSIX
+ representation over the leap second inserted at the end of
+ June, 1993.
+ DATE TIME T X=time2posix(T) posix2time(X)
+ 93/06/30 23:59:59 A+0 B+0 A+0
+ 93/06/30 23:59:60 A+1 B+1 A+1 or A+2
+ 93/07/01 00:00:00 A+2 B+1 A+1 or A+2
+ 93/07/01 00:00:01 A+3 B+2 A+3
+
+ A leap second deletion would look like...
+
+ DATE TIME T X=time2posix(T) posix2time(X)
+ ??/06/30 23:59:58 A+0 B+0 A+0
+ ??/07/01 00:00:00 A+1 B+2 A+1
+ ??/07/01 00:00:01 A+2 B+3 A+2
+
+ [Note: posix2time(B+1) => A+0 or A+1]
+
+ If leap-second support is not enabled, local time_t's and
+ POSIX time_t's are equivalent, and both time2posix and
+ posix2time degenerate to the identity function.
+
+SEE ALSO
+ difftime(3), localtime(3), mktime(3), time(2)
diff --git a/unused/tz-art.htm b/unused/tz-art.htm
new file mode 100644
index 000000000000..352c408b66cb
--- /dev/null
+++ b/unused/tz-art.htm
@@ -0,0 +1,402 @@
+<!DOCTYPE html
+PUBLIC "-//W3C//DTD HTML 4.01//EN"
+"http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+<meta http-equiv="Content-type" content='text/html; charset="US-ASCII"'>
+<title>Time and the Arts</title>
+</head>
+<body>
+<h1>Time and the Arts</h1>
+<address>
+@(#)tz-art.htm 8.11
+</address>
+<p>
+Please send corrections to this web page to the
+<a href="mailto:tz@elsie.nci.nih.gov">time zone mailing list</a>.</p>
+<p>
+See also <a href="tz-link.htm">Sources for Time Zone and Daylight Saving Time Data</a>.</p>
+<hr>
+<p>
+Data on recordings of "Save That Time," Russ Long, Serrob Publishing, BMI:</p>
+<table>
+<tr><td>Artist</td><td>Karrin Allyson</td></tr>
+<tr><td>CD</td><td>I Didn't Know About You</td></tr>
+<tr><td>Copyright Date</td><td>1993</td></tr>
+<tr><td>Label</td><td>Concord Jazz, Inc.</td></tr>
+<tr><td>ID</td><td>CCD-4543</td></tr>
+<tr><td>Track Time</td><td>3:44</td></tr>
+<tr><td>Personnel</td><td>Karrin Allyson, vocal;
+Russ Long, piano;
+Gerald Spaits, bass;
+Todd Strait, drums</td></tr>
+<tr><td>Notes</td><td>CD notes "additional lyric by Karrin Allyson;
+arranged by Russ Long and Karrin Allyson"</td></tr>
+<tr><td>ADO Rating</td><td>1 star</td></tr>
+<tr><td><a href="http://www.allmusic.com/cg/amg.dll?p=amg&amp;sql=A1fdovw9ta92k">AMG Rating</a></td><td>4 stars</td></tr>
+<tr><td>Penguin Rating</td><td>3.5 stars</td></tr>
+<tr><td>&nbsp;</td></tr>
+<tr><td>Artist</td><td>Kevin Mahogany</td></tr>
+<tr><td>CD</td><td>Double Rainbow</td></tr>
+<tr><td>Copyright Date</td><td>1993</td></tr>
+<tr><td>Label</td><td>Enja Records</td></tr>
+<tr><td>ID</td><td>ENJ-7097 2</td></tr>
+<tr><td>Track Time</td><td>6:27</td></tr>
+<tr><td>Personnel</td><td>Kevin Mahogany, vocal;
+Kenny Barron, piano;
+Ray Drummond, bass;
+Ralph Moore, tenor saxophone;
+Lewis Nash, drums</td></tr>
+<tr><td>ADO Rating</td><td>1.5 stars</td></tr>
+<tr><td><a href="http://www.allmusic.com/cg/amg.dll?p=amg&amp;sql=Akikbikzjbb19">AMG Rating</a></td><td>3 stars</td></tr>
+<tr><td>Penguin Rating</td><td>3 stars</td></tr>
+<tr><td>&nbsp;</td></tr>
+<tr><td>Artist</td><td>Joe Williams</td></tr>
+<tr><td>CD</td><td>Here's to Life</td></tr>
+<tr><td>Copyright Date</td><td>1994</td></tr>
+<tr><td>Label</td><td>Telarc International Corporation</td></tr>
+<tr><td>ID</td><td>CD-83357</td></tr>
+<tr><td>Track Time</td><td>3:58</td></tr>
+<tr><td>Personnel</td><td>Joe Williams, vocal
+The Robert Farnon [39 piece] Orchestra</td></tr>
+<tr><td>Notes</td><td>This CD is also available as part of a 3-CD package from
+Telarc, "Triple Play" (CD-83461)</td></tr>
+<tr><td>ADO Rating</td><td>black dot</td></tr>
+<tr><td><a href="http://www.allmusic.com/cg/amg.dll?p=amg&amp;sql=Amyyvad6kt8w1">AMG Rating</a></td><td>2 stars</td></tr>
+<tr><td>Penguin Rating</td><td>3 stars</td></tr>
+<tr><td>&nbsp;</td></tr>
+<tr><td>Artist</td><td>Charles Fambrough</td></tr>
+<tr><td>CD</td><td>Keeper of the Spirit</td></tr>
+<tr><td>Copyright Date</td><td>1995</td></tr>
+<tr><td>Label</td><td>AudioQuest Music</td></tr>
+<tr><td>ID</td><td>AQ-CD1033</td></tr>
+<tr><td>Track Time</td><td>7:07</td></tr>
+<tr><td>Personnel</td><td>Charles Fambrough, bass;
+Joel Levine, tenor recorder;
+Edward Simon, piano;
+Lenny White, drums;
+Marion Simon, percussion</td></tr>
+<tr><td>Notes</td><td>On-line information and samples available at
+<a href="http://wwmusic.com/~music/audioq/rel/1033.html">http://wwmusic.com/~music/audioq/rel/1033.html</a></td></tr>
+<tr><td>ADO Rating</td><td>2 stars</td></tr>
+<tr><td><a href="http://www.allmusic.com/cg/amg.dll?p=amg&amp;sql=A5rkcikcjbb89">AMG Rating</a></td><td>unrated</td></tr>
+<tr><td>Penguin Rating</td><td>3 stars</td></tr>
+</table>
+<hr>
+<p>Also of note:</p>
+<table>
+<tr><td>Artist</td><td>Holly Cole Trio</td></tr>
+<tr><td>CD</td><td>Blame It On My Youth</td></tr>
+<tr><td>Copyright Date</td><td>1992</td></tr>
+<tr><td>Label</td><td>Manhattan</td></tr>
+<tr><td>ID</td><td>CDP 7 97349 2</td></tr>
+<tr><td>Total Time</td><td>37:45</td></tr>
+<tr><td>Personnel</td><td>Holly Cole, voice;
+Aaron Davis, piano;
+David Piltch, string bass</td></tr>
+<tr><td>Notes</td><td>Lyrical reference to "Eastern Standard Time" in
+Tom Waits' "Purple Avenue"</td></tr>
+<tr><td>ADO Rating</td><td>2.5 stars</td></tr>
+<tr><td><a href="http://www.allmusic.com/cg/amg.dll?p=amg&amp;sql=A3a9ds37ya3dg">AMG Rating</a></td><td>3 stars</td></tr>
+<tr><td>Penguin Rating</td><td>unrated</td></tr>
+<tr><td>&nbsp;</td></tr>
+<tr><td>Artist</td><td>Milt Hinton</td></tr>
+<tr><td>CD</td><td>Old Man Time</td></tr>
+<tr><td>Copyright Date</td><td>1990</td></tr>
+<tr><td>Label</td><td>Chiaroscuro</td></tr>
+<tr><td>ID</td><td>CR(D) 310</td></tr>
+<tr><td>Total Time</td><td>149:38 (two CDs)</td></tr>
+<tr><td>Personnel</td><td>Milt Hinton, bass;
+Doc Cheatham, Dizzy Gillespie, Clark Terry, trumpet;
+Al Grey, trombone;
+Eddie Barefield, Joe Camel (Flip Phillips), Buddy Tate,
+clarinet and saxophone;
+John Bunch, Red Richards, Norman Simmons, Derek Smith,
+Ralph Sutton, piano;
+Danny Barker, Al Casey, guitar;
+Gus Johnson, Gerryck King, Bob Rosengarden, Jackie Williams,
+drums;
+Lionel Hampton, vibraphone;
+Cab Calloway, Joe Williams, vocal;
+Buck Clayton, arrangements</td></tr>
+<tr><td>Notes</td><td>tunes include Old Man Time, Time After Time,
+Sometimes I'm Happy,
+A Hot Time in the Old Town Tonight,
+Four or Five Times, Now's the Time,
+Time on My Hands, This Time It's Us,
+and Good Time Charlie
+On-line samples available at
+<a href="http://www.chiaroscurojazz.com/albuminfo.php4?albumid=49">http://www.chiaroscurojazz.com/albuminfo.php3?albumid=49</a></td></tr>
+<tr><td>ADO Rating</td><td>3 stars</td></tr>
+<tr><td><a href="http://www.allmusic.com/cg/amg.dll?p=amg&amp;sql=A1cbyxdab8ola">AMG Rating</a></td><td>4.5 stars</td></tr>
+<tr><td>Penguin Rating</td><td>3 stars</td></tr>
+<tr><td>&nbsp;</td></tr>
+<tr><td>Artist</td><td>Alan Broadbent</td></tr>
+<tr><td>CD</td><td>Pacific Standard Time</td></tr>
+<tr><td>Copyright Date</td><td>1995</td></tr>
+<tr><td>Label</td><td>Concord Jazz, Inc.</td></tr>
+<tr><td>ID</td><td>CCD-4664</td></tr>
+<tr><td>Total Time</td><td>62:42</td></tr>
+<tr><td>Personnel</td><td>Alan Broadbent, piano;
+Putter Smith, Bass;
+Frank Gibson, Jr., drums</td></tr>
+<tr><td>Notes</td><td>The CD cover features an analemma for equation-of-time fans</td></tr>
+<tr><td>ADO Rating</td><td>1 star</td></tr>
+<tr><td><a href="http://www.allmusic.com/cg/amg.dll?p=amg&amp;sql=Asl8zefuk8gfo">AMG Rating</a></td><td>4 stars</td></tr>
+<tr><td>Penguin Rating</td><td>3.5 stars</td></tr>
+<tr><td>&nbsp;</td></tr>
+<tr><td>Artist</td><td>Anthony Braxton/Richard Teitelbaum</td></tr>
+<tr><td>CD</td><td>Silence/Time Zones</td></tr>
+<tr><td>Copyright Date</td><td>1996</td></tr>
+<tr><td>Label</td><td>Black Lion</td></tr>
+<tr><td>ID</td><td>BLCD 760221</td></tr>
+<tr><td>Total Time</td><td>72:58</td></tr>
+<tr><td>Personnel</td><td>Anthony Braxton, sopranino and alto saxophones,
+contrebasse clarinet, miscellaneous instruments;
+Leo Smith, trumpet and miscellaneous instruments;
+Leroy Jenkins, violin and miscellaneous instruments;
+Richard Teitelbaum, modular moog and micromoog synthesizer</td></tr>
+<tr><td>ADO Rating</td><td>black dot</td></tr>
+<tr><td><a href="http://www.allmusic.com/cg/amg.dll?p=amg&amp;sql=A5bkvu3xjan1k">AMG Rating</a></td><td>unrated</td></tr>
+<tr><td>&nbsp;</td></tr>
+<tr><td>Artist</td><td>Charles Gayle</td></tr>
+<tr><td>CD</td><td>Time Zones</td></tr>
+<tr><td>Copyright Date</td><td>2006</td></tr>
+<tr><td>Label</td><td>Tompkins Square</td></tr>
+<tr><td>ID</td><td>TSQ2839</td></tr>
+<tr><td>Total Time</td><td>49:06</td></tr>
+<tr><td>Personnel</td><td>Charles Gayle, piano</td></tr>
+<tr><td>ADO Rating</td><td>1 star</td></tr>
+<tr><td><a href="http://www.allmusic.com/cg/amg.dll?p=amg&amp;sql=10:13rc28vw054a">AMG Rating</a></td><td>4.5 stars</td></tr>
+<tr><td>&nbsp;</td></tr>
+<tr><td>Artist</td><td>The Get Up Kids</td></tr>
+<tr><td>CD</td><td>Eudora</td></tr>
+<tr><td>Copyright Date</td><td>2001</td></tr>
+<tr><td>Label</td><td>Vagrant</td></tr>
+<tr><td>ID</td><td>357</td></tr>
+<tr><td>Total Time</td><td>65:12</td></tr>
+<tr><td>Notes</td><td>Includes the song "Central Standard Time." Thanks to Colin Bowern for this information.</td></tr>
+<tr><td><a href="http://www.allmusic.com/cg/amg.dll?p=amg&amp;sql=10:7ddovwvla9xk">AMG Rating</a></td><td>2.5 stars</td></tr>
+<tr><td>&nbsp;</td></tr>
+
+<tr><td>Artist</td><td>Coldplay</td></tr>
+<tr><td>Song</td><td>Clocks</td></tr>
+<tr><td>Copyright Date</td><td>2003</td></tr>
+<tr><td>Label</td><td>Capitol Records</td></tr>
+<tr><td>ID</td><td>52608</td></tr>
+<tr><td>Total Time</td><td>4:13</td></tr>
+<tr><td>Notes</td><td>Won the 2004 Record of the Year honor at the
+Grammy Awards. Co-written and performed by Chris Martin,
+great-great-grandson of DST inventor William Willett. The song's first
+line is "Lights go out and I can't be saved".</td></tr>
+<tr><td>&nbsp;</td></tr>
+
+<tr><td>Artist</td><td>Irving Kahal and Harry Richman</td></tr>
+<tr><td>Song</td><td>There Ought to be a Moonlight Saving Time</td></tr>
+<tr><td>Copyright Date</td><td>1931</td>
+<tr><td>Notes</td><td>This musical standard was a #1 hit for Guy Lombardo
+in 1931, and was also performed by Maurice Chevalier, Blossom Dearie
+and many others. The phrase "Moonlight saving time" also appears in
+the 1995 country song "Not Enough Hours in the Night" written by Aaron
+Barker, Kim Williams and Rob Harbin and performed by Doug
+Supernaw.</td></tr>
+<tr><td>&nbsp;</td></tr>
+
+<tr><td>Artist</td><td>The Microscopic Septet</td></tr>
+<tr><td>CD</td><td>Lobster Leaps In</td></tr>
+<tr><td>Copyright Date</td><td>2008</td></tr>
+<tr><td>Label</td><td>Cuneiform</td></tr>
+<tr><td>ID</td><td>272</td></tr>
+<tr><td>Total Time</td><td>73:05</td></tr>
+<tr><td>Notes</td><td>Includes the song "Twilight Time Zone."</td></tr>
+<tr><td><a href="http://www.allmusic.com/cg/amg.dll?p=amg&sql=10:w9fpxzykldje">AMG Rating</a></td><td>3.5 stars</td></tr>
+<tr><td>ADO Rating</td><td>2 stars</td></tr>
+
+<tr><td>&nbsp;</td></tr>
+
+<tr><td>Artist</td><td>Bob Dylan</td></tr>
+<tr><td>CD</td><td>The Time They Are A-Changin'</td></tr>
+<tr><td>Copyright Date</td><td>1964</td></tr>
+<tr><td>Label</td><td>Columbia</td></tr>
+<tr><td>ID</td><td>CK-8905</td></tr>
+<tr><td>Total Time</td><td>45:36</td></tr>
+<tr><td><a href="http://www.allmusic.com/cg/amg.dll?p=amg&sql=10:gifqxqt5ld0e">AMG Rating</a></td><td>4.5 stars</td></tr>
+<tr><td>ADO Rating</td><td>1.5 stars</td></tr>
+<tr><td>Notes<td>The title song is also available on "Bob Dylan's Greatest Hits" and "The Essential Bob Dylan."</td></tr>
+
+<tr><td>&nbsp;</td></tr>
+
+<tr><td>TV episode title</td><td>The Lost Hour</td>
+<tr><td>TV series</td><td><em>Eerie, Indiana</em></td>
+<tr><td>TV episode number</td><td>10</td>
+<tr><td>Network</td><td>NBC</td>
+<tr><td>Air date</td><td>1991-12-01</td>
+<tr><td>Notes</td><td>Despite Indiana's then-lack of DST, Marshall changes his clock with unusual consequences.</td></tr>
+<tr><td>&nbsp;</td></tr>
+
+<tr><td>TV episode title</td><td>Time Tunnel</td>
+<tr><td>TV series</td><td><em>The Adventures of Pete &amp; Pete</em></td>
+<tr><td>TV episode number</td><td>5, season 2</td>
+<tr><td>Network</td><td>Nickelodeon</td>
+<tr><td>Air date</td><td>1994-10-23</td>
+<tr><td>Notes</td><td>The two Petes travel back in time an hour on the day that DST ends.</td></tr>
+<tr><td>&nbsp;</td></tr>
+
+<tr><td>TV episode title</td><td>King-Size Homer</td>
+<tr><td>TV series</td><td><em>The Simpsons</em></td>
+<tr><td>TV episode number</td><td>135</td>
+<tr><td>Network</td><td>Fox</td>
+<tr><td>Air date</td><td>1995-11-05</td>
+<tr><td>Notes</td><td>Homer, working from home, remarks "8:58, first
+time I've ever been early for work. Except for all those daylight
+savings days. Lousy farmers."</td></tr>
+<tr><td>&nbsp;</td></tr>
+
+<tr><td>Artist</td><td>Jules Verne</td></tr>
+<tr><td>Book</td><td>Le Tour du Monde en Quatre-Vingts Jours
+(Around the World in Eighty Days)</td></tr>
+<tr><td>Notes</td><td>Wall-clock time plays a central role in the plot.
+European readers of the 1870s clearly held the U.S. press in
+deep contempt; the protagonists cross the U.S. without once
+reading a paper.
+An on-line French-language version of the book
+"with illustrations from the original 1873 French-language edition"
+is available at
+<a href="http://fourmilab.ch/etexts/www/tdm80j">http://fourmilab.ch/etexts/www/tdm80j</a>
+An on-line English-language translation of the book is available at
+<a href="http://www.literature.org/Works/Jules-Verne/eighty">http://www.literature.org/Works/Jules-Verne/eighty</a></td></tr>
+
+<tr><td>&nbsp;</td></tr>
+<tr><td>Artist</td><td>Umberto Eco</td></tr>
+<tr><td>Book</td><td>The Island of the Day Before
+(L'isola del giorno prima)</td></tr>
+<tr><td>Copyright Date</td><td>1994</td></tr>
+<tr><td>Notes</td><td>
+"...the story of a 17th century Italian nobleman trapped near an island
+on the International Date Line. Time and time zones play an integral
+part in the novel." (Paul Eggert, 2006-04-22)
+</td></tr>
+<tr><td>&nbsp;</td></tr>
+<tr><td>Artist</td><td>David Jebb</td></tr>
+<tr><td>Book</td><td><a href="http://www.thethirteenthtimezone.com">
+The Thirteenth Time Zone</a></td></tr>
+<tr><td>Notes</td><td>
+"It's fiction, but it's based on his experiences and travels." (Paul Eggert, 2006-04-22)
+</td></tr>
+<tr><td>&nbsp;</td></tr>
+<tr><td>Artist</td><td>John Dunning</td></tr>
+<tr><td>Book</td><td><a
+href="http://www.simonsays.com/content/book.cfm?sid=33&amp;pid=479719">Two
+O'Clock, Eastern Wartime</a></td></tr>
+<tr><td>Copyright Date</td><td>2001</td></tr>
+<tr><td>Notes</td><td>
+Mystery, history, daylight saving time, and old-time radio.
+</td></tr>
+<tr><td>&nbsp;</td></tr>
+<tr><td>Film</td><td>Bell Science - About Time</td></tr>
+<tr><td>Notes</td><td>The Frank Baxter/Richard Deacon extravaganza.
+Information is available at
+<a href="http://www.videoflicks.com/titles/1035/1035893.htm">http://www.videoflicks.com/titles/1035/1035893.htm</a></td></tr>
+</table>
+<hr>
+<ul>
+<li>
+An episode of "The Adventures of Superman" entitled "The Mysterious
+Cube," first aired 1958-02-24, had Superman convincing the controllers
+of WWV to broadcast time signals five minutes ahead of actual time;
+doing so got a crook trying to beat the statute of limitations to
+emerge a bit too early from the titular enclosure.
+</li>
+<li>
+The 1960s ITC television series "The Prisoner" included an episode
+entitled "The Chimes of Big Ben" in which our protagonist tumbled to
+the fraudulent nature of a Poland-to-England escape upon hearing "Big
+Ben" chiming on Polish local time.
+</li>
+<li>
+The series "Seinfeld" included an episode entitled "The Susie," first
+broadcast 1997-02-13, in which Kramer decides that daylight saving time
+isn't coming fast enough, so he sets his watch ahead an hour.
+</li>
+<li>
+The syndicated comic strip "Dilbert" featured an all-too-rare example of
+time zone humor on 1998-03-14.
+</li>
+<li>
+Surrealist artist Guy Billout's work "Date Line" appeared on page 103
+of the 1999-11 Atlantic Monthly.
+</li>
+<li>
+"Gloom, Gloom, Go Away" by Walter Kirn appeared on page 106 of Time
+Magazine's 2002-11-11 issue; among other things, it proposed
+year-round DST as a way of lessening wintertime despair.
+</li>
+<li>
+The "20 Hours in America" episode of "The West Wing," first aired 2002-09-25,
+saw White House staffers stranded in Indiana; they thought they had time to
+catch Air Force One but were done in by intra-Indiana local time changes.
+</li>
+<li>
+"In what time zone would you find New York City?" was a $200 question on
+the 1999-11-13 United States airing of "Who Wants to Be a Millionaire?"
+"In 1883, what industry led the movement to divide the U.S. into four time
+zones?" was a $32,000 question on the 2001-05-23 United States airing of
+"Who Wants to Be a Millionaire?" At this rate, the million-dollar time-zone
+question should have been asked 2002-06-04.
+</li>
+<li>
+A private jet's mid-flight change of time zones distorts Alison Dubois'
+premonition in the "We Had a Dream" episode of "Medium"
+(originally aired 2007-02-28).
+</li>
+</ul>
+<hr>
+<ul>
+<li>
+"We're been using the five-cent nickle in this country since 1492.
+Now that's pretty near 100 years, daylight savings [sic]."
+(Groucho Marx as Captain Spaulding in "Animal Crackers", 1930,
+as noted by Will Fitzerald)
+</li>
+<li>
+"Good news."
+"What did they do? Extend Daylight Saving Time year round?"
+(Professional tanner George Hamilton, in dialog from a
+May, 1999 episode of the syndicated television series "Baywatch")
+</li>
+<li>
+"A fundamental belief held by Americans is that if you are on land, you
+cannot be killed by a fish...So most Americans remain on land, believing
+they're safe. Unfortunately, this belief&mdash;like so many myths, such as that
+there's a reason for 'Daylight Saving Time'&mdash;is false."
+(Dave Barry column, 2000-07-02)
+</li>
+<li>
+"I once had sex for an hour and five minutes, but that was on the day
+when you turn the clocks ahead."
+(Garry Shandling, 52nd Annual Emmys, 2000-09-10)
+</li>
+<li>
+"Would it impress you if I told you I invented Daylight Savings Time?"
+("Sahjhan" to "Lilah" in dialog from the "Loyalty" episode of "Angel,"
+originally aired 2002-02-25)
+</li>
+<li>
+"I thought you said Tulsa was a three hour flight."
+"Well, you're forgetting about the time difference."
+("Chandler" and "Joey" in dialog from the episode of "Friends" first
+aired 2002-12-05)
+</li>
+<li>
+"Is that a pertinent fact,
+or are you trying to dazzle me with your command of time zones?"
+(Kelsey Grammer as "Frasier Crane")
+</li>
+<li>
+"Don't worry about the world coming to an end today.
+It is already tomorrow in Australia."
+(Charles M. Schulz, provided by Steve Summit)
+</li>
+</ul>
+</body>
+</html>
diff --git a/unused/tz-link.htm b/unused/tz-link.htm
new file mode 100644
index 000000000000..0cd9e28a3056
--- /dev/null
+++ b/unused/tz-link.htm
@@ -0,0 +1,648 @@
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD HTML 4.01//EN"
+ "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+<title>Sources for Time Zone and Daylight Saving Time Data</title>
+<link rel="schema.DC" href="http://purl.org/DC/elements/1.1/">
+<meta http-equiv="Content-type" content='text/html; charset="US-ASCII"'>
+<meta name="DC.Creator" content="Eggert, Paul">
+<meta name="DC.Contributor" content="Olson, Arthur David">
+<meta name="DC.Date" content="2007-12-26">
+<meta name="DC.Description"
+ content="Sources of information about time zones and daylight saving time">
+<meta name="DC.Identifier" content="http://www.twinsun.com/tz/tz-link.htm">
+<meta name="Keywords"
+ content="database,daylight saving,DST,time zone,timezone,tz,zoneinfo">
+</head>
+<body>
+<h1>Sources for Time Zone and Daylight Saving Time Data</h1>
+<address>
+@(#)tz-link.htm 8.18
+</address>
+<p>
+Please send corrections to this web page to the
+<a href="mailto:tz@elsie.nci.nih.gov">time zone mailing list</a>.</p>
+<h2>The <code>tz</code> database</h2>
+<p>
+The <a href="http://en.wikipedia.org/wiki/Public_domain">public-domain</a>
+time zone database contains code and data
+that represent the history of local time
+for many representative locations around the globe.
+It is updated periodically to reflect changes made by political bodies
+to <a href="http://en.wikipedia.org/wiki/Time_zone">time zone</a>
+boundaries, <a
+href="http://en.wikipedia.org/wiki/Coordinated_Universal_Time"><abbr
+title="Coordinated Universal Time">UTC</abbr></a> offsets, and
+<a href="http://en.wikipedia.org/wiki/Daylight_saving">daylight-saving</a>
+rules.
+This database (often called <code>tz</code> or <a
+href="http://en.wikipedia.org/wiki/Zoneinfo"><code>zoneinfo</code></a>)
+is used by several implementations,
+including
+<a href="http://www.gnu.org/software/libc/">the
+<abbr title="GNU's Not Unix">GNU</abbr>
+C Library</a> used in
+<a href="http://www.linux.org/"><abbr>GNU</abbr>/Linux</a>,
+<a href="http://www.freebsd.org/">FreeBSD</a>,
+<a href="http://netbsd.org/">NetBSD</a>,
+<a href="http://openbsd.org/">OpenBSD</a>,
+<a href="http://cygwin.com/">Cygwin</a>,
+<a href="http://www.delorie.com/djgpp/"><abbr
+title="DJ's GNU Programming Platform">DJGPP</abbr></a>,
+<a href="http://ibm.com/aix">AIX</a>,
+<a href="http://www.apple.com/macosx/">Mac OS X</a>,
+<a href="http://h71000.www7.hp.com/">OpenVMS</a>,
+<a href="http://oracle.com/database">Oracle Database</a>,
+<a href="http://sun.com/software/solaris">Solaris</a>,
+<a href="http://h30097.www3.hp.com/">Tru64</a>, and
+<a href="http://sco.com/products/unixware">UnixWare</a>.</p>
+<p>
+Each location in the database represents a national region where all
+clocks keeping local time have agreed since 1970.
+Locations are identified by continent or ocean and then by the name of
+the location, which is typically the largest city within the region.
+For example, <code>America/New_York</code>
+represents most of the <abbr title="United States">US</abbr> eastern time zone;
+<code>America/Phoenix</code> represents most of Arizona, which
+uses mountain time without daylight saving time (<abbr
+title="daylight saving time">DST</abbr>);
+<code>America/Detroit</code> represents most of Michigan, which uses
+eastern time but with different <abbr>DST</abbr> rules in 1975;
+and other entries represent smaller regions like Starke County,
+Indiana, which switched from central to eastern time in 1991
+and switched back in 2006.
+To use the database on an extended <a
+href="http://en.wikipedia.org/wiki/POSIX"><abbr
+title="Portable Operating System Interface">POSIX</abbr></a>
+implementation set the <code>TZ</code> environment variable to
+the location's full name, e.g., <code>TZ="America/New_York"</code>.</p>
+<p>
+In the <code>tz</code> database's
+<a href="ftp://elsie.nci.nih.gov/pub"><abbr
+title="File Transfer Protocol">FTP</abbr> distribution</a>
+the code is in the file <code>tzcode<var>C</var>.tar.gz</code>,
+where <code><var>C</var></code> is the code's version;
+similarly, the data are in <code>tzdata<var>D</var>.tar.gz</code>,
+where <code><var>D</var></code> is the data's version.
+The following <a
+href="http://en.wikipedia.org/wiki/Unix_shell">shell</a> commands download
+these files to a <abbr>GNU</abbr>/Linux or similar host;
+see the downloaded
+<code>README</code> file for what to do next.</p>
+<pre style="margin-left: 2em"><code><a href="http://www.gnu.org/software/wget/">wget</a> 'ftp://elsie.nci.nih.gov/pub/tz*.tar.gz'
+<a href="http://www.gnu.org/software/gzip/">gzip</a> -dc tzcode*.tar.gz | <a href="http://www.gnu.org/software/tar/">tar</a> -xf -
+gzip -dc tzdata*.tar.gz | tar -xf -
+</code></pre>
+<p>
+The code lets you compile the <code>tz</code> source files into
+machine-readable binary files, one for each location. It also lets
+you read a <code>tz</code> binary file and interpret time stamps for that
+location.</p>
+<p>
+The data are by no means authoritative. If you find errors, please
+send changes to the <a href="mailto:tz@elsie.nci.nih.gov">time zone
+mailing list</a>. You can also <a
+href="http://news.gmane.org/gmane.comp.time.tz">browse recent
+messages</a> sent to the mailing list, <a
+href="mailto:tz-request@elsie.nci.nih.gov">subscribe</a> to it,
+retrieve the <a
+href="ftp://elsie.nci.nih.gov/pub/tzarchive.gz">full archive of old
+messages</a> (in gzip compressed format), or retrieve <a
+href="ftp://munnari.oz.au/pub/oldtz">archived older versions of code
+and data</a>; there is also a smaller <a
+href="http://public.planetmirror.com/pub/timezone"><abbr
+title="Hypertext Transfer Protocol">HTTP</abbr>
+mirror</a>.</p>
+<p>
+The Web has several other sources for time zone and daylight saving time data.
+Here are some recent links that may be of interest.
+</p>
+<h2>Web pages using recent versions of the <code>tz</code> database</h2>
+<p>
+These are listed roughly in ascending order of complexity and fanciness.
+</p>
+<ul>
+<li><a href="http://twiki.org/cgi-bin/xtra/tzdatepick.html">Date and Time Gateway</a>
+lets you see the <code>TZ</code> values directly.</li>
+<li><a
+href="http://convertit.com/Go/ConvertIt/World_Time/Current_Time.ASP">Current
+Time in 1000 Places</a> uses descriptions of the values.</li>
+<li><a href="http://www.timezoneconverter.com/">Time Zone Converter</a>
+uses a pulldown menu.</li>
+<li><a href="http://home.tiscali.nl/~t876506/TZworld.html">Complete
+timezone information for all countries</a> displays tables of DST rules.
+<li><a href="http://timeanddate.com/worldclock/">The World Clock -
+Time Zones</a> lets you sort zone names and convert times.</li>
+<li><a href="http://daylight-savings-time.info/">Graphical Display of
+Time Zones and Daylight Saving Times</a> shows a graph of time
+difference versus time for any pair of locations.</li>
+<li>The <a href="http://worldtimeengine.com/">World Time Engine</a>
+also contains data about time zone boundaries; it supports queries via place
+names and shows location maps.</li>
+</ul>
+<h2>Other time zone database formats</h2>
+<ul>
+<li>The <a href="ftp://ftp.rfc-editor.org/in-notes/rfc2445.txt">
+Internet Calendaring and Scheduling Core Object Specification
+(iCalendar)</a>, Internet <abbr title="Request For
+Comments">RFC</abbr> 2445, published by the (now-concluded) <a
+href="http://ietf.org/html.charters/OLD/calsch-charter.html"><abbr
+title="Internet Engineering Task Force">IETF</abbr>
+Calendaring and Scheduling Working Group (<abbr
+title="Calendaring and Scheduling Working Group">calsch</abbr>)</a>
+covers time zone
+data; see its VTIMEZONE calendar component.
+The <a href="http://calconnect.org/">Calendaring and Scheduling
+Consortium</a> is promoting further work in this area. <a
+href="http://calconnect.org/publications/icalendartimezoneproblemsandrecommendationsv1.0.pdf">iCalendar
+TIMEZONE Problems and Recommendations</a> offers guidelines and
+recommendations for the use of VTIMEZONE and <code>tz</code>.</li>
+<li><a href="http://calconnect.org/dstlinks.shtml">Extended Daylight
+Saving Time Links, Advisories and Changes</a> lists vendor material on recent
+daylight saving time changes.</li>
+<li><a
+href="http://calconnect.org/publications/timezoneregistryandservicerecommendationsv1.0.pdf">Timezone
+Registry and Service Recommendations</a> discusses a
+strategy for defining and deploying a time zone
+registration process that would establish unique names for each
+version of each <code>tz</code> zone, along with a polygonal
+representation of the geographical area corresponding to the
+zone.</li>
+<li>The <a
+href="http://lists.w3.org/Archives/Public/www-rdf-calendar/">www-rdf-calendar</a>
+list discusses <a
+href="http://www.w3.org/RDF/"><abbr
+title="Resource Description Framework">RDF</abbr></a>-based calendar
+and group scheduling systems, and has a <a
+href="http://www.w3.org/2002/12/cal/#tzd">workspace on time zone
+data</a> converted from <code>tz</code>. An earlier <a
+href="http://www.w3.org/2000/01/foo">schema</a> was sketched out.</li>
+</ul>
+<h2>Other <code>tz</code> compilers</h2>
+<ul>
+<li><a href="http://www.dachaplin.dsl.pipex.com/vzic/">Vzic iCalendar
+Timezone Converter</a> describes a <a
+href="http://en.wikipedia.org/wiki/C_%28programming_language%29">C</a>
+program that compiles
+<code>tz</code> source into iCalendar-compatible VTIMEZONE files.
+Vzic is freely
+available under the <a
+href="http://www.gnu.org/copyleft/gpl.html"><abbr>GNU</abbr>
+General Public License (<abbr
+title="General Public License">GPL</abbr>)</a>.</li>
+<li><a href="http://sourceforge.net/projects/tzical">tziCal - tz
+database conversion utility</a> is like Vzic, except for the <a
+href="http://msdn.microsoft.com/netframework">.NET framework</a>.</li>
+<li><a
+href="http://search.cpan.org/dist/DateTime-TimeZone/">DateTime::TimeZone</a>
+contains a script <code>parse_olson</code> that compiles
+<code>tz</code> source into <a href="http://www.perl.org/">Perl</a>
+modules. It is part of the Perl <a
+href="http://datetime.perl.org/">DateTime Project</a>, which is freely
+available under both the <abbr>GPL</abbr> and the Perl Artistic
+License. DateTime::TimeZone also contains a script
+<code>tests_from_zdump</code> that generates test cases for each clock
+transition in the <code>tz</code> database.</li>
+<li><a href="http://icu-project.org/">International Components for
+Unicode (<abbr>ICU</abbr>)</a> contains C/C++ and <a
+href="http://en.wikipedia.org/wiki/Java_%28programming_language%29">Java</a>
+libraries for internationalization that
+has a compiler from <code>tz</code> source
+into an <abbr>ICU</abbr>-specific format.
+<abbr>ICU</abbr> is freely available under a
+<abbr title="Berkeley Software Distribution">BSD</abbr>-style license.</li>
+<li><a href="http://joda-time.sourceforge.net/">Joda Time - Java date
+and time <abbr title="Application Program Interface">API</abbr></a>
+contains a class
+<code>org.joda.time.tz.ZoneInfoCompiler</code> that compiles
+<code>tz</code> source into a Joda-specific binary format. Joda Time
+is freely available under a <abbr>BSD</abbr>-style license.</li>
+<li><a href="http://pytz.sourceforge.net">PyTZ - Python Time
+Zone Library</a> compiles <code>tz</code> source into
+<a href="http://python.org/">Python</a>.
+It is freely available under a <abbr>BSD</abbr>-style license.</li>
+<li><a href="http://tzinfo.rubyforge.org/">TZInfo - Ruby Timezone Library</a>
+compiles <code>tz</code> source into
+<a href="http://ruby-lang.org">Ruby</a>.
+It is freely available under the <abbr
+title="Massachusetts Institute of Technology">MIT</abbr> license.</li>
+<li>The <a href="http://chronos-st.org/">Chronos Date/Time
+Library</a> is a <a href="http://smalltalk.org">Smalltalk</a> class
+library that compiles <code>tz</code> source into a <a
+href="http://date-time-zone.com/">time zone repository</a> whose format
+is either proprietary or an <a href="http://www.w3.org/XML/"><abbr
+title="Extensible Markup Language">XML</abbr></a>-encoded
+representation.</li>
+<li>Starting with version 8.5, <a href="http://tcl.tk/">Tcl</a>
+contains a developer-oriented parser that compiles <samp>tz</samp>
+source into text files, along with a runtime that can read those
+files. Tcl is freely available under a <abbr>BSD</abbr>-style
+license.</li>
+</ul>
+<h2>Other <code>tz</code> binary file readers</h2>
+<ul>
+<li>The <a
+href="http://www.gnu.org/software/libc/"><abbr>GNU</abbr> C
+Library</a>
+has an independent, thread-safe implementation of
+a <code>tz</code> binary file reader.
+This library is freely available under the
+<a href="http://www.gnu.org/copyleft/lesser.html">
+<abbr>GNU</abbr> Lesser General Public License
+(<abbr title="Lesser General Public License">LGPL</abbr>)</a>,
+and is widely used in <abbr>GNU</abbr>/Linux systems.</li>
+<li><a href="http://bmsi.com/java/#TZ">ZoneInfo.java</a>
+is a <code>tz</code> binary file reader written in Java.
+It is freely available under the <abbr>LGPL</abbr>.</li>
+<li>Tcl, mentioned above, also contains a
+<code>tz</code> binary file reader.</li>
+</ul>
+<h2>Other <code>tz</code>-based time zone software</h2>
+<ul>
+<li><a href="http://stemhaus.com/firefox/foxclocks/">FoxClocks</a>
+is an extension for <a
+href="http://developer.mozilla.org/en/docs/Toolkit_API">Mozilla
+Toolkit</a> applications like <a
+href="http://mozilla.com/firefox">Firefox</a>, <a
+href="http://mozilla.com/thunderbird">Thunderbird</a>, and
+<a
+href="http://www.mozilla.org/projects/calendar/sunbird/">Sunbird</a>.
+It displays multiple clocks in the application window, and has a mapping
+interface to <a href="http://earth.google.com/">Google Earth</a>.
+It is freely available under the <abbr>GPL</abbr>.</li>
+<li><a
+href="http://users.skynet.be/Peter.Verthez/projects/intclock/">International
+clock (intclock)</a> is a multi-timezone clock for
+<abbr>GNU</abbr>/Linux and similar systems. It is freely available
+under the <abbr>GPL</abbr>.</li>
+<li><a href="http://codeplex.com/publicdomain">PublicDomain</a>
+has a copy of a recent <code>tz</code> database, accessed via a <a
+href="http://en.wikipedia.org/wiki/C_Sharp">C#</a> library. As its
+name suggests, it is in the public domain. Only current time stamps
+are well supported; historical data are compiled into the runtime but
+are not easily accessible.</li>
+<li><a href="http://java.sun.com/">Sun Java</a> releases since 1.4
+contain a copy of a subset of a recent <code>tz</code> database in a
+Java-specific format.</li>
+<li><a href="http://kimmo.suominen.com/sw/timezone/">Time Zone</a> is
+a <a href="http://wordpress.org/">WordPress</a> plugin. It is freely
+available under a <abbr>BSD</abbr>-style license.</li>
+<li><a
+href="http://veladg.com/velaterra.html">VelaTerra</a> is
+a Mac OS X program. Its developers
+<a href="http://veladg.com/tzoffer.html">offer free
+licenses</a> to <code>tz</code> contributors.</li>
+<li><a
+href="http://worldtimeexplorer.com/">World Time Explorer</a> is a
+Microsoft Windows program.</li>
+</ul>
+<h2>Other time zone databases</h2>
+<ul>
+<li><a href="http://www.astro.com/cgi/aq.cgi">Atlas Query</a>
+is Astrodienst's Web version of Shanks's
+excellent time zone history atlases published in both <a
+href="http://astrocom.com/products/software.php?software_id=ibmwboth">computer</a>
+and book form (<a
+href="http://astrocom.com/products/book.php?book_id=b110x">one volume
+for the USA</a>, and <a
+href="http://astrocom.com/products/book.php?book_id=b112x">one for
+other locations</a>) by <a
+href="http://astrocom.com/">Astro Communications Services</a>.</li>
+<li><a href="http://worldtime.com/">WORLDTIME: interactive atlas,
+time info, public holidays</a>
+contains information on local time, sunrise and sunset,
+and public holidays in several hundred cities around the world.</li>
+<li><a href="http://worldtimeserver.com/">World Time Server</a>
+is another time zone database.</li>
+<li><a href="http://tycho.usno.navy.mil/tzones.html">World Time Zones</a>
+contains data from the Time Service Department of the
+<abbr>US</abbr> Naval Observatory, used as the source
+for the <code>usno*</code> files in the <code>tz</code> distribution.</li>
+<li>The <a href="http://iata.org/ps/publications/SSIM.htm">Standard
+Schedules Information Manual</a> of the
+<a href="http://iata.org/index.htm">International Air Transport
+Association</a>
+gives current time zone rules for airports served by commercial aviation.</li>
+<li>Some Microsoft Windows versions contain time zone information in
+an undocumented format, with IDs that can be mapped to <code>TZ</code>
+values using the <a
+href="http://unicode.org/cldr/data/diff/supplemental/windows_tzid.html">Windows
+&rarr; Tzid table</a> maintained by the <abbr
+title="Common Locale Data Repository">CLDR</abbr> data mentioned
+below.</li>
+</ul>
+<h2>Maps</h2>
+<ul>
+<li>The <a href="https://www.cia.gov/">United States Central
+Intelligence Agency (<abbr
+title="Central Intelligence Agency">CIA</abbr>)</a> publishes a <a
+href="https://www.cia.gov/library/publications/the-world-factbook/reference_maps/pdf/time_zones.pdf">time
+zone map</a>; the
+<a
+href="http://www.lib.utexas.edu/maps/world.html">Perry-Casta&ntilde;eda
+Library Map Collection</a>
+of the University of Texas at Austin has copies of
+recent editions.
+The pictorial quality is good,
+but the maps do not indicate summer time,
+and parts of the data are a few years out of date.</li>
+<li><a href="http://worldtimezone.com/">Current time around the world
+and standard time zones map of the world</a>
+has several fancy time zone maps; it covers Russia particularly well.
+The maps' pictorial quality is not quite as good as the
+<abbr>CIA</abbr>'s
+but the maps are more up to date.</li>
+</ul>
+<h2>Time zone boundaries</h2>
+<ul>
+<li><a href="http://efele.net/maps/tz/us/">A map of the TZ timezones in
+the US</a> contains a <a
+href="http://en.wikipedia.org/wiki/Shapefile">shapefile</a> of the
+<code>tz</code> regions in the US.</li>
+<li><a href="http://statoids.com/statoids.html">Administrative Divisions
+of Countries ("Statoids")</a> contains detailed lists of
+<code>tz</code>-related zone subdivision data.</li>
+<li><a href="http://home.tiscali.nl/~t876506/Multizones.html">Time
+zone boundaries for multizone countries</a> summarizes legal
+boundaries between time zones within countries.</li>
+<li>Manifold.net's <a
+href="http://www.manifold.net/download/freemaps.html">Free Maps and
+<abbr title="Geographic Information Systems">GIS</abbr>
+Data</a> includes a Manifold-format map of
+world time zone boundaries distributed under the
+<abbr>GPL</abbr>.</li>
+<li>The <abbr>US</abbr> Geological Survey's National Atlas of
+the United States
+publishes the <a href="http://nationalatlas.gov/mld/timeznp.html">Time
+Zones of the United States</a> in the public domain.</li>
+<li>The GeoCommunity lists several commercial sources for <a
+href="http://spatialnews.geocomm.com/features/timezones/">International
+Time Zones and Time Zone Data</a>.</li>
+<li>A ship within the <a
+href="http://en.wikipedia.org/wiki/Territorial_waters">territorial
+waters</a> of any nation uses that nation's time. In international
+waters, time zone boundaries are meridians 15&deg; apart, except that
+UTC&minus;12 and UTC+12 are each 7.5&deg; wide and are separated by
+the 180&deg; meridian (not by the International Date Line, which is
+for land and territorial waters only). A captain can change ship's
+clocks any time after entering a new time zone; midnight changes are
+common.</li>
+</ul>
+<h2>Civil time concepts and history</h2>
+<ul>
+<li><a href="http://physics.nist.gov/GenInt/Time/time.html">A
+Walk through Time</a>
+surveys the evolution of timekeeping.</li>
+<li><a href="http://webexhibits.org/daylightsaving/">About Daylight
+Saving Time - History, rationale, laws &amp; dates</a>
+is an overall history of <abbr>DST</abbr>.</li>
+<li><a href="http://energy.ca.gov/daylightsaving.html">Saving Time,
+Saving Energy</a> discusses a primary justification for <abbr>DST</abbr>.</li>
+<li><a href="http://seizethedaylight.com/dst/">Who Knew? A Brief
+History of Daylight Saving Time</a> summarizes some of the contentious
+history of <abbr>DST</abbr>.</li>
+<li><a href="http://toi.iriti.cnr.it/">The
+Time of Internet</a>
+describes time zones and daylight saving time,
+with diagrams.
+The time zone map is out of date, however.</li>
+<li><a href="http://www.phys.uu.nl/~vgent/idl/idl.htm">A History of
+the International Date Line</a> tells the story of the most important
+time zone boundary.</li>
+<li><a href="http://statoids.com/tconcept.html">Basic Time
+Zone Concepts</a> discusses terminological issues behind time zones.</li>
+</ul>
+<h2>National histories of legal time</h2>
+<dl>
+<dt>Australia</dt>
+<dd>The Parliamentary Library has commissioned <a
+href="http://www.aph.gov.au/LIBRARY/Pubs/rn/2006-07/07rn13.pdf">research
+note on daylight saving time in Australia</a>.
+The Bureau of Meteorology publishes a list of
+<a href="http://www.bom.gov.au/climate/averages/tables/dst_times.shtml">Implementation Dates of Daylight Savings Time within Australia</a>.</dd>
+<dt>Belgium</dt>
+<dd>The Royal Observatory of Belgium maintains a table of <a
+href="http://www.astro.oma.be/GENERAL/INFO/nli001a.html"
+hreflang="nl">time in Belgium (in Dutch)</a>.</dd>
+<dt>Brazil</dt>
+<dd>The Time Service Department of the National Observatory
+records <a href="http://pcdsh01.on.br/DecHV.html"
+hreflang="pt-BR">Brazil's daylight saving time decrees (in
+Portuguese)</a>.</dd>
+<dt>Canada</dt>
+<dd>The Institute for National Measurement Standards publishes current
+and some older information about <a
+href="http://inms-ienm.nrc-cnrc.gc.ca/time_services/daylight_saving_e.html">Time
+Zones &amp; Daylight Saving Time</a>.</dd>
+<dt>Chile</dt>
+<dd>The Chilean Hydrographic and Oceanographic Service publishes a <a
+href="http://www.horaoficial.cl/horaof.htm" hreflang="es"> history of
+official time (in Spanish)</a>.</dd>
+<dt>Germany</dt>
+<dd>The National Institute for Science and Technology maintains the <a
+href="http://www.ptb.de/en/org/4/44/441/dars_e.htm">Realisation of
+Legal Time in Germany</a>.</dd>
+<dt>Israel</dt>
+<dd>The Interior Ministry periodically issues <a
+href="ftp://ftp.cs.huji.ac.il/pub/tz/announcements"
+hreflang="he">announcements (in Hebrew)</a>.</dd>
+<dt>Mexico</dt>
+<dd>The Investigation and Analysis Service of the Mexican Library of
+Congress has published a <a
+href="http://www.cddhcu.gob.mx/bibliot/publica/inveyana/polisoc/horver/"
+hreflang="es">history of Mexican local time (in Spanish)</a>.</dd>
+<dt>Malaysia</dt>
+<dd>See Singapore below.</dd>
+<dt>Netherlands</dt>
+<dd><a href="http://www.phys.uu.nl/~vgent/wettijd/wettijd.htm"
+hreflang="nl">Legal time in the Netherlands (in Dutch)</a>
+covers the history of local time in the Netherlands from ancient times.</dd>
+<dt>New Zealand</dt>
+<dd>The Department of Internal Affairs maintains a brief history <a
+href="http://dia.govt.nz/diawebsite.nsf/wpg_URL/Resource-material-Information-We-Provide-About-Daylight-Saving">About
+Daylight Saving</a>. The privately-maintained <a
+href="http://astrologyschool.com/nztime.html">History of New Zealand
+time</a> has more details.</dd>
+<dt>Norway</dt>
+<dd>The Norwegian Meteorological Institute lists
+<a href="http://met.no/met/met_lex/q_u/sommertid.html" hreflang="no">Summer
+time in Norway (in Norwegian)</a>, citing the
+Institute of Theoretical Astrophysics, Oslo.</dd>
+<dt>Singapore</dt>
+<dd><a
+href="http://www.math.nus.edu.sg/aslaksen/teaching/timezone.html">Why
+is Singapore in the "Wrong" Time Zone?</a> details the
+history of legal time in Singapore and Malaysia.</dd>
+<dt>United Kingdom</dt>
+<dd><a
+href="http://www.srcf.ucam.org/~jsm28/british-time/">History of
+legal time in Britain</a> discusses in detail the country
+with perhaps the best-documented history of clock adjustments.
+The National Physical Laboratory also maintains an <a
+href="http://www.npl.co.uk/server.php?show=ConWebDoc.2714">Archive
+of Summer time dates</a>.</dd>
+</dl>
+<h2>Precision timekeeping</h2>
+<ul>
+<li><a
+href="http://literature.agilent.com/litweb/pdf/5965-7984E.pdf">The
+Science of Timekeeping</a> is a thorough introduction
+to the theory and practice of precision timekeeping.</li>
+<li><a href="http://www.ntp.org/"><abbr
+title="Network Time Protocol">NTP</abbr>: The Network
+Time Protocol</a>
+discusses how to synchronize clocks of
+Internet hosts.</li>
+<li><a
+href="ftp://ftp.rfc-editor.org/in-notes/rfc4833.txt">Timezone
+Options for <abbr title="Dynamic Host Configuration Protocol">DHCP</abbr></a>
+(Internet <abbr>RFC</abbr> 4833)
+specifies a <a
+href="http://www.dhcp.org/">DHCP</a> option for a server to configure
+a client's time zone and daylight saving settings automatically.</li>
+<li><a href="http://gauss.gge.unb.ca/GMT.UT.and.the.RGO.html">A Few
+Facts Concerning <abbr title="Greenwich Mean Time">GMT</abbr>, <abbr
+title="Universal Time">UT</abbr>, and
+the <abbr title="Royal Greenwich Observatory">RGO</abbr></a>
+answers questions like "What is the
+difference between <abbr>GMT</abbr> and <abbr>UTC</abbr>?"</li>
+<li><a
+href="http://www.cv.nrao.edu/~rfisher/Ephemerides/times.html">Astronomical
+Times</a> explains more abstruse astronomical time scales like
+<abbr title="Terrestrial Dynamic Time">TDT</abbr>,
+<abbr title="Geocentric Coordinate Time">TCG</abbr>, and
+<abbr title="Barycentric Dynamic Time">TDB</abbr>.
+<a href="http://www.ucolick.org/~sla/leapsecs/timescales.html">Time
+Scales</a> goes into more detail, particularly for historical variants.</li>
+<li>The <a href="http://iau.org/"><abbr
+title="International Astronomical Union">IAU</abbr></a>'s <a
+href="http://www.iau-sofa.rl.ac.uk/"><abbr
+title="Standards Of Fundamental Astronomy">SOFA</abbr></a>
+initiative publishes Fortran
+code for converting among time scales like
+<abbr title="International Atomic Time">TAI</abbr>,
+<abbr>TDB</abbr>, <abbr>TDT</abbr> and
+<abbr>UTC</abbr>.</li>
+<li><a href="http://jpl.nasa.gov/basics/bsf2-3.htm">Basics of
+Space Flight - Reference Systems - Time Conventions</a>
+briefly explains interplanetary space flight timekeeping.</li>
+<li><a
+href="http://www.giss.nasa.gov/tools/mars24/help/notes.html">Technical
+Notes on Mars Solar Time as Adopted by the Mars24 Sunclock</a> briefly
+describes Mars Coordinated Time (<abbr
+title="Mars Coordinated Time">MTC</abbr>) and the
+diverse local time
+scales used by each landed mission on Mars.</li>
+<li><a href="http://leapsecond.com/">LeapSecond.com</a> is
+dedicated not only to leap seconds but to precise time and frequency
+in general. It covers the state of the art in amateur timekeeping, and
+how the art has progressed over the past few decades.</li>
+<li><a
+href="http://hpiers.obspm.fr/eop-pc/products/bulletins/bulletins.html">Bulletins
+maintained by the
+<abbr title="International Earth Rotation Service">IERS</abbr>
+<abbr title="Earth Orientation Parameters">EOP</abbr>
+(<abbr title="Product Center">PC</abbr>)</a> contains official publications of
+the Earth Orientation Parameters Product Center of the
+International Earth Rotation Service, the committee that decides
+when leap seconds occur.</li>
+<li>The <a
+href="http://six.pairlist.net/mailman/listinfo/leapsecs">Leap
+Second Discussion List</a> covers <a
+href="http://gauss.gge.unb.ca/papers.pdf/gpsworld.november99.pdf">McCarthy
+and Klepczynski's proposal to discontinue leap seconds</a>,
+discussed further in
+<a href="http://www.cl.cam.ac.uk/~mgk25/time/metrologia-leapsecond.pdf">The
+leap second: its history and possible future</a>.
+The (now disbanded) <a href="http://members.aas.org/comms/leap.cfm"><abbr
+title="American Astronomical Society">AAS</abbr> Leap Second
+Committee</a> has solicited input on this proposal.
+<a href="http://www.ucolick.org/~sla/leapsecs/">The
+Future of Leap Seconds</a> covers this
+contentious issue.</li>
+</ul>
+<h2>Time notation</h2>
+<ul>
+<li>
+<a href="http://www.cl.cam.ac.uk/~mgk25/iso-time.html">A Summary of
+the International Standard Date and Time Notation</a> is a good
+summary of
+<a
+href="http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=40874"><abbr
+title="International Organization for Standardization">ISO</abbr>
+8601:2004 -- Data elements and interchange formats -- Information
+interchange -- Representation of dates and times</a>.</li>
+<li>
+<a href="http://www.w3.org/TR/xmlschema-2/#dateTime"><abbr>XML</abbr>
+Schema: Datatypes - dateTime</a> specifies a format inspired by
+<abbr>ISO</abbr> 8601 that is in common use in XML data.</li>
+<li>
+<a href="ftp://ftp.rfc-editor.org/in-notes/rfc2822.txt">Internet
+Message Format</a> (Internet <abbr>RFC</abbr> 2822) &sect;3.3
+specifies the time notation used in email and <a
+href="ftp://ftp.rfc-editor.org/in-notes/rfc2616.txt"><abbr>HTTP</abbr></a>
+headers.</li>
+<li>
+<a href="ftp://ftp.rfc-editor.org/in-notes/rfc3339.txt">Date and Time
+on the Internet: Timestamps</a> (Internet <abbr>RFC</abbr> 3339)
+specifies an <abbr>ISO</abbr> 8601
+profile for use in new Internet
+protocols.</li>
+<li>
+<a href="http://www.hackcraft.net/web/datetime/">Date &amp; Time
+Formats on the Web</a> surveys web- and Internet-oriented date and time
+formats.</li>
+<li>
+<a href="http://exit109.com/~ghealton/y2k/yrexamples.html">The
+Best of Dates, the Worst of Dates</a> covers many problems encountered
+by software developers when handling dates and time stamps.</li>
+<li>The <a
+href="http://unicode.org/cldr/">Unicode Common Locale Data Repository
+(<abbr>CLDR</abbr>) Project</a> has localizations for time zone names,
+abbreviations, identifiers, and formats. For example, it contains
+French translations for "Eastern European Summer Time", "<abbr
+title="Eastern European Summer Time">EEST</abbr>", and
+"Bucharest". <a
+href="http://unicode.org/cldr/data/charts/by_type/names.metazone.html">By-Type
+Chart: names.metazone</a> shows these values for many locales.
+<abbr>ICU</abbr> contains a mechanism for using this data.</li>
+<li>Alphabetic time zone abbreviations should not be used as unique
+identifiers for <abbr>UTC</abbr> offsets as they are ambiguous in
+practice. For example, "<abbr>EST</abbr>" denotes 5 hours behind
+<abbr>UTC</abbr> in English-speaking North America, but it denotes 10
+or 11 hours ahead of <abbr>UTC</abbr> in Australia; and
+French-speaking North Americans prefer
+"<abbr title="Heure Normale de l'Est">HNE</abbr>" to
+"<abbr>EST</abbr>". For <abbr>POSIX</abbr> the <code>tz</code>
+database contains English abbreviations for all time stamps but in
+many cases these are merely inventions of the database
+maintainers.</li>
+<li>Numeric time zone abbreviations typically count hours east of
+<abbr>UTC</abbr>, e.g., <code>+09</code> for Japan and
+<code>-10</code> for Hawaii. However, the <abbr>POSIX</abbr>
+<code>TZ</code> environment variable uses the opposite convention. For
+example, one might use <code>TZ="JST-9"</code> and
+<code>TZ="HST10"</code> for Japan and Hawaii, respectively. If the
+<code>tz</code> database is available, it is usually better to use
+settings like <code>TZ="Asia/Tokyo"</code> and
+<code>TZ="Pacific/Honolulu"</code> instead, as this should avoid
+confusion, handle old time stamps better, and insulate you better from
+any future changes to the rules. One should never set
+<abbr>POSIX</abbr> <code>TZ</code> to a value like
+<code>"GMT-9"</code>, though, since this would falsely claim that
+local time is nine hours ahead of <abbr>UTC</abbr> and the time zone
+is called "<abbr>GMT</abbr>".</li>
+</ul>
+<h2>Related indexes</h2>
+<ul>
+<li><a href="tz-art.htm">Time and the Arts</a></li>
+<li><a href="http://www.dmoz.org/Reference/Time/">Open Directory -
+Reference: Time</a></li>
+<li><a href="http://directory.google.com/Top/Reference/Time/">Google Directory
+- Reference &gt; Time</a></li>
+<li><a href="http://dir.yahoo.com/Science/Measurements_and_Units/Time">Yahoo!
+Directory &gt; Science &gt; Measurements and Units &gt; Time</a></li>
+</ul>
+</body>
+</html>
diff --git a/unused/tzfile.5.txt b/unused/tzfile.5.txt
new file mode 100644
index 000000000000..953851233d6c
--- /dev/null
+++ b/unused/tzfile.5.txt
@@ -0,0 +1,106 @@
+NAME
+
+ tzfile - time zone information
+
+SYNOPSIS
+ #include <tzfile.h>
+
+DESCRIPTION
+ The time zone information files used by tzset(3) begin with
+ the magic characters "TZif" to identify then as time zone
+ information files, followed by a character identifying the
+ version of the file's format (as of 2005, either an ASCII
+ NUL or a '2') followed by fifteen bytes containing zeroes
+ reserved for future use, followed by six four-byte values of
+ type long, written in a ``standard'' byte order (the high-
+ order byte of the value is written first). These values
+ are, in order:
+
+ tzh_ttisgmtcnt
+ The number of UTC/local indicators stored in the file.
+
+ tzh_ttisstdcnt
+ The number of standard/wall indicators stored in the
+ file.
+
+ tzh_leapcnt
+ The number of leap seconds for which data is stored in
+ the file.
+
+ tzh_timecnt
+ The number of "transition times" for which data is
+ stored in the file.
+
+ tzh_typecnt
+ The number of "local time types" for which data is
+ stored in the file (must not be zero).
+
+ tzh_charcnt
+ The number of characters of "time zone abbreviation
+ strings" stored in the file.
+
+ The above header is followed by tzh_timecnt four-byte values
+ of type long, sorted in ascending order. These values are
+ written in ``standard'' byte order. Each is used as a
+ transition time (as returned by time(2)) at which the rules
+ for computing local time change. Next come tzh_timecnt one-
+ byte values of type unsigned char; each one tells which of
+ the different types of ``local time'' types described in the
+ file is associated with the same-indexed transition time.
+ These values serve as indices into an array of ttinfo
+ structures (with tzh_typecnt entries) that appears next in
+ the file; these structures are defined as follows:
+
+ struct ttinfo {
+ long tt_gmtoff;
+ int tt_isdst;
+ unsigned int tt_abbrind;
+ };
+
+ Each structure is written as a four-byte value for tt_gmtoff
+ of type long, in a standard byte order, followed by a one-
+ byte value for tt_isdst and a one-byte value for tt_abbrind.
+ In each structure, tt_gmtoff gives the number of seconds to
+ be added to UTC, tt_isdst tells whether tm_isdst should be
+ set by localtime (3) and tt_abbrind serves as an index into
+ the array of time zone abbreviation characters that follow
+ the ttinfo structure(s) in the file.
+
+ Then there are tzh_leapcnt pairs of four-byte values,
+ written in standard byte order; the first value of each pair
+ gives the time (as returned by time(2)) at which a leap
+ second occurs; the second gives the total number of leap
+ seconds to be applied after the given time. The pairs of
+ values are sorted in ascending order by time.
+
+ Then there are tzh_ttisstdcnt standard/wall indicators, each
+ stored as a one-byte value; they tell whether the transition
+ times associated with local time types were specified as
+ standard time or wall clock time, and are used when a time
+ zone file is used in handling POSIX-style time zone
+ environment variables.
+
+ Finally there are tzh_ttisgmtcnt UTC/local indicators, each
+ stored as a one-byte value; they tell whether the transition
+ times associated with local time types were specified as UTC
+ or local time, and are used when a time zone file is used in
+ handling POSIX-style time zone environment variables.
+
+ Localtime uses the first standard-time ttinfo structure in
+ the file (or simply the first ttinfo structure in the
+ absence of a standard-time structure) if either tzh_timecnt
+ is zero or the time argument is less than the first
+ transition time recorded in the file.
+
+ For version-2-format time zone files, the above header and
+ data is followed by a second header and data, identical in
+ format except that eight bytes are used for each transition
+ time or leap second time. After the second header and data
+ comes a newline-enclosed, POSIX-TZ-environment-variable-
+ style string for use in handling instants after the last
+ transition time stored in the file (with nothing between the
+ newlines if there is no POSIX representation for such
+ instants).
+
+SEE ALSO
+ newctime(3)
diff --git a/unused/tzselect.8 b/unused/tzselect.8
new file mode 100644
index 000000000000..949d9f7bf35a
--- /dev/null
+++ b/unused/tzselect.8
@@ -0,0 +1,41 @@
+.TH TZSELECT 8
+.SH NAME
+tzselect \- select a time zone
+.SH SYNOPSIS
+.B tzselect
+.SH DESCRIPTION
+The
+.B tzselect
+program asks the user for information about the current location,
+and outputs the resulting time zone description to standard output.
+The output is suitable as a value for the TZ environment variable.
+.PP
+All interaction with the user is done via standard input and standard error.
+.SH "ENVIRONMENT VARIABLES"
+.TP
+\f3AWK\fP
+Name of a Posix-compliant
+.I awk
+program (default:
+.BR awk ).
+.TP
+\f3TZDIR\fP
+Name of the directory containing time zone data files (default:
+.BR /usr/local/etc/zoneinfo ).
+.SH FILES
+.TP
+\f2TZDIR\fP\f3/iso3166.tab\fP
+Table of ISO 3166 2-letter country codes and country names.
+.TP
+\f2TZDIR\fP\f3/zone.tab\fP
+Table of country codes, latitude and longitude, TZ values, and
+descriptive comments.
+.TP
+\f2TZDIR\fP\f3/\fP\f2TZ\fP
+Time zone data file for time zone \f2TZ\fP.
+.SH "EXIT STATUS"
+The exit status is zero if a time zone was successfully obtained from the user,
+nonzero otherwise.
+.SH "SEE ALSO"
+newctime(3), tzfile(5), zdump(8), zic(8)
+.\" @(#)tzselect.8 8.1
diff --git a/unused/tzselect.8.txt b/unused/tzselect.8.txt
new file mode 100644
index 000000000000..a492401b8219
--- /dev/null
+++ b/unused/tzselect.8.txt
@@ -0,0 +1,41 @@
+NAME
+
+ tzselect - select a time zone
+
+SYNOPSIS
+ tzselect
+
+DESCRIPTION
+ The tzselect program asks the user for information about the
+ current location, and outputs the resulting time zone
+ description to standard output. The output is suitable as a
+ value for the TZ environment variable.
+
+ All interaction with the user is done via standard input and
+ standard error.
+
+ENVIRONMENT VARIABLES
+ AWK Name of a Posix-compliant awk program (default: awk).
+
+ TZDIR
+ Name of the directory containing time zone data files
+ (default: /usr/local/etc/zoneinfo).
+
+FILES
+ TZDIR/iso3166.tab
+ Table of ISO 3166 2-letter country codes and country
+ names.
+
+ TZDIR/zone.tab
+ Table of country codes, latitude and longitude, TZ
+ values, and descriptive comments.
+
+ TZDIR/TZ
+ Time zone data file for time zone TZ.
+
+EXIT STATUS
+ The exit status is zero if a time zone was successfully
+ obtained from the user, nonzero otherwise.
+
+SEE ALSO
+ newctime(3), tzfile(5), zdump(8), zic(8)
diff --git a/unused/tzselect.ksh b/unused/tzselect.ksh
new file mode 100644
index 000000000000..7b805336ab5d
--- /dev/null
+++ b/unused/tzselect.ksh
@@ -0,0 +1,323 @@
+#! /bin/ksh
+
+VERSION='@(#)tzselect.ksh 8.2'
+
+# Ask the user about the time zone, and output the resulting TZ value to stdout.
+# Interact with the user via stderr and stdin.
+
+# Contributed by Paul Eggert.
+
+# Porting notes:
+#
+# This script requires several features of the Korn shell.
+# If your host lacks the Korn shell,
+# you can use either of the following free programs instead:
+#
+# <a href=ftp://ftp.gnu.org/pub/gnu/>
+# Bourne-Again shell (bash)
+# </a>
+#
+# <a href=ftp://ftp.cs.mun.ca/pub/pdksh/pdksh.tar.gz>
+# Public domain ksh
+# </a>
+#
+# This script also uses several features of modern awk programs.
+# If your host lacks awk, or has an old awk that does not conform to Posix.2,
+# you can use either of the following free programs instead:
+#
+# <a href=ftp://ftp.gnu.org/pub/gnu/>
+# GNU awk (gawk)
+# </a>
+#
+# <a href=ftp://ftp.whidbey.net/pub/brennan/>
+# mawk
+# </a>
+
+
+# Specify default values for environment variables if they are unset.
+: ${AWK=awk}
+: ${TZDIR=$(pwd)}
+
+# Check for awk Posix compliance.
+($AWK -v x=y 'BEGIN { exit 123 }') </dev/null >/dev/null 2>&1
+[ $? = 123 ] || {
+ echo >&2 "$0: Sorry, your \`$AWK' program is not Posix compatible."
+ exit 1
+}
+
+if [ "$1" = "--help" ]; then
+ cat <<EOF
+Usage: tzselect
+Select a time zone interactively.
+
+Report bugs to tz@elsie.nci.nih.gov.
+EOF
+ exit 0
+elif [ "$1" = "--version" ]; then
+ cat <<EOF
+tzselect $VERSION
+EOF
+ exit 0
+fi
+
+# Make sure the tables are readable.
+TZ_COUNTRY_TABLE=$TZDIR/iso3166.tab
+TZ_ZONE_TABLE=$TZDIR/zone.tab
+for f in $TZ_COUNTRY_TABLE $TZ_ZONE_TABLE
+do
+ <$f || {
+ echo >&2 "$0: time zone files are not set up correctly"
+ exit 1
+ }
+done
+
+newline='
+'
+IFS=$newline
+
+
+# Work around a bug in bash 1.14.7 and earlier, where $PS3 is sent to stdout.
+case $(echo 1 | (select x in x; do break; done) 2>/dev/null) in
+?*) PS3=
+esac
+
+
+# Begin the main loop. We come back here if the user wants to retry.
+while
+
+ echo >&2 'Please identify a location' \
+ 'so that time zone rules can be set correctly.'
+
+ continent=
+ country=
+ region=
+
+
+ # Ask the user for continent or ocean.
+
+ echo >&2 'Please select a continent or ocean.'
+
+ select continent in \
+ Africa \
+ Americas \
+ Antarctica \
+ 'Arctic Ocean' \
+ Asia \
+ 'Atlantic Ocean' \
+ Australia \
+ Europe \
+ 'Indian Ocean' \
+ 'Pacific Ocean' \
+ 'none - I want to specify the time zone using the Posix TZ format.'
+ do
+ case $continent in
+ '')
+ echo >&2 'Please enter a number in range.';;
+ ?*)
+ case $continent in
+ Americas) continent=America;;
+ *' '*) continent=$(expr "$continent" : '\([^ ]*\)')
+ esac
+ break
+ esac
+ done
+ case $continent in
+ '')
+ exit 1;;
+ none)
+ # Ask the user for a Posix TZ string. Check that it conforms.
+ while
+ echo >&2 'Please enter the desired value' \
+ 'of the TZ environment variable.'
+ echo >&2 'For example, GST-10 is a zone named GST' \
+ 'that is 10 hours ahead (east) of UTC.'
+ read TZ
+ $AWK -v TZ="$TZ" 'BEGIN {
+ tzname = "[^-+,0-9][^-+,0-9][^-+,0-9]+"
+ time = "[0-2]?[0-9](:[0-5][0-9](:[0-5][0-9])?)?"
+ offset = "[-+]?" time
+ date = "(J?[0-9]+|M[0-9]+\.[0-9]+\.[0-9]+)"
+ datetime = "," date "(/" time ")?"
+ tzpattern = "^(:.*|" tzname offset "(" tzname \
+ "(" offset ")?(" datetime datetime ")?)?)$"
+ if (TZ ~ tzpattern) exit 1
+ exit 0
+ }'
+ do
+ echo >&2 "\`$TZ' is not a conforming" \
+ 'Posix time zone string.'
+ done
+ TZ_for_date=$TZ;;
+ *)
+ # Get list of names of countries in the continent or ocean.
+ countries=$($AWK -F'\t' \
+ -v continent="$continent" \
+ -v TZ_COUNTRY_TABLE="$TZ_COUNTRY_TABLE" \
+ '
+ /^#/ { next }
+ $3 ~ ("^" continent "/") {
+ if (!cc_seen[$1]++) cc_list[++ccs] = $1
+ }
+ END {
+ while (getline <TZ_COUNTRY_TABLE) {
+ if ($0 !~ /^#/) cc_name[$1] = $2
+ }
+ for (i = 1; i <= ccs; i++) {
+ country = cc_list[i]
+ if (cc_name[country]) {
+ country = cc_name[country]
+ }
+ print country
+ }
+ }
+ ' <$TZ_ZONE_TABLE | sort -f)
+
+
+ # If there's more than one country, ask the user which one.
+ case $countries in
+ *"$newline"*)
+ echo >&2 'Please select a country.'
+ select country in $countries
+ do
+ case $country in
+ '') echo >&2 'Please enter a number in range.';;
+ ?*) break
+ esac
+ done
+
+ case $country in
+ '') exit 1
+ esac;;
+ *)
+ country=$countries
+ esac
+
+
+ # Get list of names of time zone rule regions in the country.
+ regions=$($AWK -F'\t' \
+ -v country="$country" \
+ -v TZ_COUNTRY_TABLE="$TZ_COUNTRY_TABLE" \
+ '
+ BEGIN {
+ cc = country
+ while (getline <TZ_COUNTRY_TABLE) {
+ if ($0 !~ /^#/ && country == $2) {
+ cc = $1
+ break
+ }
+ }
+ }
+ $1 == cc { print $4 }
+ ' <$TZ_ZONE_TABLE)
+
+
+ # If there's more than one region, ask the user which one.
+ case $regions in
+ *"$newline"*)
+ echo >&2 'Please select one of the following' \
+ 'time zone regions.'
+ select region in $regions
+ do
+ case $region in
+ '') echo >&2 'Please enter a number in range.';;
+ ?*) break
+ esac
+ done
+ case $region in
+ '') exit 1
+ esac;;
+ *)
+ region=$regions
+ esac
+
+ # Determine TZ from country and region.
+ TZ=$($AWK -F'\t' \
+ -v country="$country" \
+ -v region="$region" \
+ -v TZ_COUNTRY_TABLE="$TZ_COUNTRY_TABLE" \
+ '
+ BEGIN {
+ cc = country
+ while (getline <TZ_COUNTRY_TABLE) {
+ if ($0 !~ /^#/ && country == $2) {
+ cc = $1
+ break
+ }
+ }
+ }
+ $1 == cc && $4 == region { print $3 }
+ ' <$TZ_ZONE_TABLE)
+
+ # Make sure the corresponding zoneinfo file exists.
+ TZ_for_date=$TZDIR/$TZ
+ <$TZ_for_date || {
+ echo >&2 "$0: time zone files are not set up correctly"
+ exit 1
+ }
+ esac
+
+
+ # Use the proposed TZ to output the current date relative to UTC.
+ # Loop until they agree in seconds.
+ # Give up after 8 unsuccessful tries.
+
+ extra_info=
+ for i in 1 2 3 4 5 6 7 8
+ do
+ TZdate=$(LANG=C TZ="$TZ_for_date" date)
+ UTdate=$(LANG=C TZ=UTC0 date)
+ TZsec=$(expr "$TZdate" : '.*:\([0-5][0-9]\)')
+ UTsec=$(expr "$UTdate" : '.*:\([0-5][0-9]\)')
+ case $TZsec in
+ $UTsec)
+ extra_info="
+Local time is now: $TZdate.
+Universal Time is now: $UTdate."
+ break
+ esac
+ done
+
+
+ # Output TZ info and ask the user to confirm.
+
+ echo >&2 ""
+ echo >&2 "The following information has been given:"
+ echo >&2 ""
+ case $country+$region in
+ ?*+?*) echo >&2 " $country$newline $region";;
+ ?*+) echo >&2 " $country";;
+ +) echo >&2 " TZ='$TZ'"
+ esac
+ echo >&2 ""
+ echo >&2 "Therefore TZ='$TZ' will be used.$extra_info"
+ echo >&2 "Is the above information OK?"
+
+ ok=
+ select ok in Yes No
+ do
+ case $ok in
+ '') echo >&2 'Please enter 1 for Yes, or 2 for No.';;
+ ?*) break
+ esac
+ done
+ case $ok in
+ '') exit 1;;
+ Yes) break
+ esac
+do :
+done
+
+case $SHELL in
+*csh) file=.login line="setenv TZ '$TZ'";;
+*) file=.profile line="TZ='$TZ'; export TZ"
+esac
+
+echo >&2 "
+You can make this change permanent for yourself by appending the line
+ $line
+to the file '$file' in your home directory; then log out and log in again.
+
+Here is that TZ value again, this time on standard output so that you
+can use the $0 command in shell scripts:"
+
+echo "$TZ"
diff --git a/unused/usno1988 b/unused/usno1988
new file mode 100644
index 000000000000..5766d9b057b9
--- /dev/null
+++ b/unused/usno1988
@@ -0,0 +1,111 @@
+# @(#)usno1988 8.1
+#
+# From Arthur David Olson (1989-01-19):
+#
+# Here's some United States Naval Observatory time zone data from
+# February 1988. It's here mostly to convince you that the USNO has indeed
+# been updating its files (see its 1989 data elsewhere).
+#
+ANDORRA 1 H AHEAD OF UTC
+ARGENTINA 3 H BEHIND UTC
+BRASIL WEST 5 H BEHIND UTC (CRUZEIRO DO SUL)
+BRASIL CENTRAL 4 H BEHIND UTC (MANAUS)
+BRASIL EAST 3 H BEHIND UTC COASTAL STATES, RIO, SP, BRASILIA
+BRASIL 2 H BEHIND UTC ATLANTIC ISLANDS
+BRAZIL 5 H BEHIND UTC WEST (CRUZEIRO DO SUL)
+BRAZIL 4 H BEHIND UTC CENTRAL (MANAUS)
+BRAZIL 3 H BEHIND UTC COASTAL STATES, RIO, SP, BRASILIA
+BRAZIL 3 H BEHIND UTC FOR MOST MAJOR AIRPORTS.
+BRAZIL 2 H BEHIND UTC ATLANTIC ISLANDS
+BULGARIA 2 H AHEAD OF UTC WINTER
+BULGARIA 3 H AHEAD OF UTC SUMMER MAR31 - SEP 85, 0100 LOCAL
+CHINA 8 H AHEAD OF UTC; ALL OF CHINA, INCL TAIWAN
+CUBA 5 H BEHIND UTC IN WINTER
+CUBA 4 H BEHIND UTC MAY 8 - OCT 8
+CYPRUS 2 H AHEAD UTC IN WINTER
+CYPRUS 3 H AHEAD UTC MAR 25 - SEP 30
+DENMARK 1 H AHEAD UTC IN WINTER
+DENMARK 2 H AHEAD UTC MAR 31 - SEP 30 , 0200 LOCAL
+DENMK. FAEROE IS 1 H AHEAD UTC MAR 31 - SEP 30 , 0200 LOCAL
+EGYPT 2 H AHEAD UTC
+EGYPT 3 H AHEAD UTC SUMMER (AFTER RAMADAN)
+ENGLAND ON UTC IN WINTER; WALES, SCOTLAND, N.I., CH.IS.
+ENGLAND 1 H AHEAD OF UTC; SUMMER TIL 28 OCT 0200 LOCAL
+FINLAND 2 H AHEAD OF UTC IN WINTER
+FINLAND 3 H AHEAD OF UTC MAR 25 - SEP 30
+FRANCE 1 H AHEAD OF UTC IN WINTER
+FRANCE 2 H AHEAD OF UTC MAR 31 - SEP 30 , 0100 LOCAL
+GREECE 2 H AHEAD OF UTC IN WINTER
+GREECE 3 H AHEAD OF UTC IN SUMMER EFF. 31MAR85 02/03 LOCAL
+GREECE 3 H AHEAD OF UTC MAR 25 - SEP 30
+GREENLAND 4 H BEHIND UTC IN THULE AIRBASE YEAR ROUND
+GREENLAND 3 H BEHIND UTC IN WINTER AT SONDRESTROM
+GREENLAND 2 H BEHIND UTC 30 MAR - 30 SEP 2200 LOCAL AT -"-
+GREENLAND 2 H BEHIND UTC AROUND SCORESBY SUND
+ICELAND ON UTC
+IRAN 3.5H AHEAD OF UTC
+IRELAND ON UTC IN WINTER
+IRELAND 1 H AHEAD OF UTC MAR 31 - OCT 23 0200 LOCAL
+ITALY 1 H AHEAD OF UTC IN WINTER
+ITALY 2 H AHEAD OF UTC MAR 31 - SEP 30, 0030 LOCAL
+JAMAICA 5 H BEHIND UTC IN WINTER
+JAMAICA 4 H BEHIND UTC APR 29 - OCT 29
+LIBYA 2 H AHEAD OF UTC
+MEXICO BAJA CAL N 8 H BEHIND UTC IN WINTER; NORTH BAJA CAL, TIJUANA
+MEXICO BAJA CAL N 7 H BEHIND UTC APR 29 - OCT 29
+MEXICO BAJA CAL S 7 H BEHIND UTC ALL YEAR; MAZATLAN
+MEXICO CENTRAL 6 H BEHIND UTC ALL YEAR; MEXICO CITY
+MONACO 1 H AHEAD UTC IN WINTER
+MONACO 2 H AHEAD UTC MAR 25 - SEP30
+PARAGUAY 4 H BEHIND UTC IN WINTER
+PARAGUAY 3 H BEHIND UTC SEP 30 - MAR 30
+POLAND 1 H AHEAD OF UTC IN WINTER
+POLAND 2 H AHEAD OF UTC MAR 24 - SEP 0200 LOCAL
+PORTUGAL ON UTC IN WINTER
+PORTUGAL 1 H AHEAD OF UTC IN SUMMER MAR 31 - SEP 29 0100 LOCAL
+PORTUGAL AZORES 1 H BEHIND UTC IN WINTER
+PORTUGAL AZORES ON UTC IN SUMMER MAR 31 - SEP 29
+PORTUGAL MADEIRA ON UTC ALL YEAR;
+ROMANIA 2 H AHEAD OF UTC IN WINTER
+ROMANIA 3 H AHEAD OF UTC APR 3 - SEP 24
+SCOTLAND SEE ENGLAND
+SWITZERLAND 1 H AHEAD OF UTC IN WINTER
+SWITZERLAND 2 H AHEAD OF UTC MAR 31 - SEP 30 0200 LOCAL
+TURKEY 3 H AHEAD OF UTC
+USA EASTERN 5 H BEHIND UTC IN WINTER; NEW YORK, WASHINGTON
+USA EASTERN 4 H BEHIND UTC APR 29 - OCT 29
+USA CENTRAL 6 H BEHIND UTC IN WINTER; CHICAGO, HOUSTON
+USA CENTRAL 5 H BEHIND UTC APR 29 - OCT 29
+USA MOUNTAIN 7 H BEHIND UTC IN WINTER; DENVER
+USA MOUNTAIN 6 H BEHIND UTC APR 29 - OCT 29
+USA PACIFIC 8 H BEHIND UTC IN WINTER; L.A., SAN FRANCISCO
+USA PACIFIC 7 H BEHIND UTC APR 29 - OCT 29
+USA ALASKA STD 9 H BEHIND UTC IN WINTER; MOST OF ALASKA (AKST)
+USA ALASKA STD 8 H BEHIND UTC APR 29 - OCT 29 (AKDT)
+USA ALEUTIAN 10 H BEHIND UTC IN WINTER; ISLANDS WEST OF 170W
+USA - " - 9 H BEHIND UTC APR 29 - OCT 29
+USA HAWAII 10 H BEHIND UTC ALL YEAR;
+USA BERING 11 H BEHIND UTC ALL YEAR; SAMOA, MIDWAY
+USSR WEST EUROP 3 H AHEAD OF UTC IN WINTER; LENINGRAD, MOSCOW
+USSR WEST EUROP 4 H AHEAD OF UTC APR 1 - SEP 30
+USSR CENTRAL EUR 4 H AHEAD OF UTC IN WINTER; ROSTOV, BAKU
+USSR CENTRAL EUR 5 H AHEAD OF UTC APR 1 - SEP 30
+USSR EAST EUROP 5 H AHEAD OF UTC IN WINTER; SVERDLOVSK
+USSR EAST EUROP 6 H AHEAD OF UTC APR 1 - SEP 30
+USSR WEST SIBERIAN 6 H AHEAD OF UTC IN WINTER; TASHKENT, ALMA ATA
+USSR WEST SIBERIAN 7 H AHEAD OF UTC APR 1 - SEP 30
+USSR WEST-CENTRAL 7 H AHEAD OF UTC IN WINTER; NOVOSIBIRSK
+USSR WEST-CENTRAL 8 H AHEAD OF UTC APR 1 - SEP 30
+USSR WEST-CENTRAL 8 H AHEAD OF UTC IN WINTER; IRKUTSK
+USSR WEST-CENTRAL 9 H AHEAD OF UTC APR 1 - SEP 30
+USSR CENTRAL SIB 9 H AHEAD OF UTC IN WINTER; YAKUTSK
+USSR CENTRAL SIB 10 H AHEAD OF UTC APR 1 - SEP 30
+USSR CENTRAL SIB 10 H AHEAD OF UTC IN WINTER; VLADIVOSTOK
+USSR CENTRAL SIB 11 H AHEAD OF UTC APR 1 - SEP 30
+USSR EAST SIBERIA 11 H AHEAD OF UTC IN WINTER; MAGADAN
+USSR EAST SIBERIA 12 H AHEAD OF UTC APR 1 - SEP 30
+USSR EAST SIBERIA 12 H AHEAD OF UTC IN WINTER; PETROPAVLOVSK
+USSR EAST SIBERIA 13 H AHEAD OF UTC APR 1 - SEP 30
+USSR EAST SIBERIA 13 H AHEAD OF UTC IN WINTER; UELEN
+USSR EAST SIBERIA 14 H AHEAD OF UTC APR 1 - SEP 30
+WALES SEE ENGLAND
diff --git a/unused/usno1989 b/unused/usno1989
new file mode 100644
index 000000000000..e242cb90d374
--- /dev/null
+++ b/unused/usno1989
@@ -0,0 +1,452 @@
+# @(#)usno1989 8.1
+#
+# From Arthur David Olson (1989-01-19):
+#
+# Here's time zone information from the United States Naval Observatory;
+# no corrections have been made, and there are some obvious challenges.
+# The USNO warns:
+# DUE TO FREQUENT CHANGES IN THE LOCAL LAWS GOVERNING DAYLIGHT
+# SAVING TIME, WE CANNOT GUARANTEE THE ACCURACY OF THIS
+# INFORMATION. PLEASE ALERT US TO ANY DISCREPANCY YOU MAY
+# DISCOVER.
+#
+AFGHANISTAN 4.5H AHEAD OF UTC
+ALBANIA 1 H AHEAD OF UTC
+ALBANIA 2 H AHEAD OF UTC MAR 27 - SEP 24
+ALBANIA (ESTIMATED)
+ALGERIA 1 H AHEAD OF UTC
+AMERICAN SAMOA 11 H BEHIND UTC
+ANDORRA 1 H AHEAD OF UTC
+ANDORRA 2 H AHEAD OF UTC MAR 27 - SEP 24
+ANDORRA (ESTIMATED)
+ANGOLA 1 H AHEAD OF UTC
+ARGENTINA 3 H BEHIND UTC
+ARUBA 4 H BEHIND UTC ALSO BONAIRE, CURACAO,
+ARUBA ST.MAARTEN
+AUSTRALIA WEST 8 H AHEAD OF UTC PERTH, EXMOUTH
+AUSTRALIA N.T. 9.5H AHEAD OF UTC DARWIN NO ADVANCED TIME
+AUSTRALIA N.T. IN SUMMER
+AUSTRALIA SOUTH 9.5H AHEAD OF UTC ADELAIDE
+AUSTRALIA INCLUDING BROKEN HILL, NSW
+AUSTRALIA SOUTH 10.5H AHEAD OF UTC ADELAIDE OCT 30, '88-MAR
+AUSTRALIA SOUTH 18, '89 INCLUDING BROKEN
+AUSTRIALIA SOUTH HILL, NSW
+AUSTRALIA QUEENL 10 H AHEAD OF UTC
+AUSTRALIA NSW 10 H AHEAD OF UTC SYDNEY
+AUSTRALIA NSW 11 H AHEAD OF UTC SYDNEY OCT 30, '88-MAR 18,
+AUSTRALIA NSW '89
+AUSTRALIA TASM. 10 H AHEAD OF UTC HOBART
+AUSTRALIA TASM. 11 H AHEAD OF UTC HOBART OCT 30, '88-MAR 18,
+AUSTRALIA TASM. '89
+AUSTRIA 1 H AHEAD OF UTC
+AUSTRIA 2 H AHEAD OF UTC MAR 27 - SEPT 24
+AZORES SEE PORTUGAL
+BAHAMAS 5 H BEHIND UTC EXCLUDING TURKS AND CAICOS
+BAHAMAS ISLANDS)
+BAHAMAS 4 H BEHIND UTC APR 3 - OCT 29 (SAME
+BAHAMAS EXCLUSION)
+BAHRAIN 3 H AHEAD OF UTC
+BANGLADESH 6 H AHEAD OF UTC
+BARBADOS 4 H BEHIND UTC
+BELGIUM 1 H AHEAD OF UTC
+BELGIUM 2 H AHEAD OF UTC MAR 27 - SEP 24
+BELIZE 6 H BEHIND UTC
+BENIN PEOPLES REP 1 H AHEAD OF UTC DAHOMEY
+BERMUDA 4 H BEHIND UTC
+BERMUDA 3 H BEHIND UTC APR 3 - OCT 29
+BHUTAN 6 H AHEAD OF UTC
+BOLIVIA 4 H BEHIND UTC
+BONAIRE 4 H BEHIND UTC ALSO ARUBA,CURACAO,
+BONAIRE ST.MAARTEN, SABA
+BOTSWANA 2 H AHEAD OF UTC
+BRAZIL WEST 5 H BEHIND UTC TERRITORY OF ACRE
+BRAZIL WEST 4 H BEHIND UTC ACRE OCT 23, '88-FEB 11,
+BRAZIL '89 (ESTIMATED)
+BRAZIL CENTRAL 4 H BEHIND UTC MANAUS
+BRAZIL CENTRAL 3 H BEHIND UTC MANAUS OCT 23, '88-FEB 11,
+BRAZIL CENTRAL '89 (ESTIMATED)
+BRAZIL EAST 3 H BEHIND UTC COASTAL STATES, RIO, SAO
+BRAZIL EAST PAULO, BRASILIA
+BRAZIL EAST 2 H BEHIND UTC COASTAL STATES, RIO, SAO
+BRAZIL PAULO, BRASILIA OCT 23,
+BRAZIL '88-FEB 11, '89
+BRAZIL (ESTIMATED)
+BRAZIL 2 H BEHIND UTC ATLANTIC ISLANDS, FERNANDO
+BRAZIL DE NORONHA
+BRAZIL 1 H BEHIND UTC OCT 23, '88-FEB 11, '89
+BRAZIL (ESTIMATED)
+BRAZIL 3 H BEHIND UTC FOR MOST MAJOR AIRPORTS.
+BRITISH VIRGIN I. 4 H BEHIND UTC
+BRUNEI 8 H AHEAD OF UTC
+BULGARIA 2 H AHEAD OF UTC
+BULGARIA 3 H AHEAD OF UTC MAR 27 - SEP 24
+BURKINA FASO ON UTC
+BURMA 6.5H AHEAD OF UTC
+BURUNDI 2 H AHEAD OF UTC
+CAMBODIA SEE KAMPUCHEA
+CAMEROON 1 H AHEAD OF UTC
+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
+CAPE VERDE 1 H BEHIND UTC
+CAYMAN ISLANDS 5 H BEHIND UTC
+CAROLINE ISLAND 10 H AHEAD OF UTC EXCLUDING PONAPE IS.,
+CAROLINE ISLAND KUSAIE, AND PINGELAP
+CENTRAL AFRICA 1 H AHEAD OF UTC
+CEYLON 5.5H AHEAD OF UTC, SEE SRI LANKA
+CHAD 1 H AHEAD OF UTC
+CHANNEL ISLANDS SEE ENGLAND
+CHILE 4 H BEHIND UTC CONTINENTAL
+CHILE 3 H BEHIND UTC OCT 9, '88-MAR 11, '89
+CHILE 6 H BEHIND UTC EASTER ISLAND
+CHILE 5 H BEHIND UTC OCT 9, '88-MAR 11, '89
+CHINA 8 H AHEAD OF UTC ALL OF CHINA, INCL TAIWAN
+CHINA 9 H AHEAD OF UTC APR 17 - SEP 10
+COCOS (Keeling) I. 6.5H AHEAD OF UTC
+COLOMBIA 5 H BEHIND UTC
+COMOROS 3 H AHEAD OF UTC
+CONGO 1 H AHEAD OF UTC
+COOK ISLANDS 10 H BEHIND UTC
+COOK ISLANDS 9.5H BEHIND UTC OCT 30, '88-MAR 24, '89
+COOK ISLANDS (ESTIMATED)
+COSTA RICA 6 H BEHIND UTC
+COTE D'IVOIRE ON UTC
+CUBA 5 H BEHIND UTC
+CUBA 4 H BEHIND UTC MAR 20 - OCT 8
+CURACAO 4 H BEHIND UTC ALSO BONAIRE, ARUBA,
+CURACAO ST.MAARTEN
+CYPRUS 2 H AHEAD OF UTC
+CYPRUS 3 H AHEAD OF UTC MAR 27 - SEP 24
+CZECHOSLOVAKIA 1 H AHEAD OF UTC
+CZECHOSLOVAKIA 2 H AHEAD OF UTC MAR 27 - SEP 24
+DENMARK 1 H AHEAD OF UTC
+DENMARK 2 H AHEAD OF UTC MAR 27 - SEP 24
+DENMK. FAEROE IS 1 H AHEAD OF UTC MAR 27 - SEP 24
+DJIBOUTI 3 H AHEAD OF UTC
+DOMINICA 4 H BEHIND UTC
+DOMINICAN REP 4 H BEHIND UTC
+ECUADOR 5 H BEHIND UTC CONTINENTAL
+ECUADOR 6 H BEHIND UTC GALAPAGOS ISLANDS
+EGYPT 2 H AHEAD OF UTC
+EGYPT 3 H AHEAD OF UTC MAY 17 - SEP 30 (AFTER
+EGYPT RAMADAN)
+EL SALVADOR 6 H BEHIND UTC
+ENGLAND ON UTC (WALES, SCOTLAND, N.I.,
+ENGLAND CH. IS.)
+ENGLAND 1 H AHEAD OF UTC MAR 27 - OCT 22
+ENEZUELA 4 H BEHIND UTC
+EQUITORIAL GUINEA 1 H AHEAD OF UTC
+ETHIOPIA 3 H AHEAD OF UTC
+FALKLAND ISLANDS 4 H BEHIND UTC
+FALKLAND ISLANDS 3 H BEHIND UTC SEP 11, '88-APR 15, '89
+FALKLAND ISLANDS (ESTIMATED)
+FAROE ISLAND ON UTC
+FAROE ISLAND 1 H AHEAD OF UTC MAR 27 - SEP 24
+FIJI 12 H AHEAD OF UTC
+FINLAND 2 H AHEAD OF UTC
+FINLAND 3 H AHEAD OF UTC MAR 27 - SEP 24
+FRANCE 1 H AHEAD OF UTC
+FRANCE 2 H AHEAD OF UTC MAR 27 - SEP 24
+FRENCH GUIANA 3 H BEHIND UTC
+FRENCH POLYNESIA 9 H BEHIND UTC GAMBIER ISLAND
+FRENCH POLYNESIA 9.5H BEHIND UTC MARQUESAS ISLANDS
+FRENCH POLYNESIA 10 H BEHIND UTC SOCIETY ISLANDS, TUBUAI
+FRENCH POLYNESIA ISLANDS, TUAMOTU ISLAND,
+FRENCH POLYNESIA TAHITI
+GABON 1 H AHEAD OF UTC
+GAMBIA ON UTC
+GERMANY ALL 1 H AHEAD OF UTC
+GERMANY ALL 2 H AHEAD OF UTC MAR 27 - SEP 24
+GHANA ON UTC
+GIBRALTAR 1 H AHEAD OF UTC
+GIBRALTAR 2 H AHEAD OF UTC MAR 27 - SEP 24
+GREECE 2 H AHEAD OF UTC
+GREECE 3 H AHEAD OF UTC MAR 27 - SEP 24
+GREENLAND 4 H BEHIND UTC THULE AIRBASE YEAR ROUND
+GREENLAND 3 H BEHIND UTC ANGMAGSSALIK AND W. COAST
+GREENLAND 2 H BEHIND UTC MAR 27 - SEP 24
+GREENLAND 1 H BEHIND UTC SCORESBYSUND
+GREENLAND ON UTC MAR 27 - SEP 24
+GRENADA 4 H BEHIND UTC
+GUADELOUPE 4 H BEHIND UTC ST. BARTHELEMY, NORTHERN
+GUADELOUPE ST. MARTIN MARTINIQUE
+GUAM 10 H AHEAD OF UTC
+GUATEMALA 6 H BEHIND UTC
+GUINEA ON UTC
+GUINEA BISSAU ON UTC
+GUINEA REPUBLIC ON UTC
+GUINEA EQUATORIAL 1 H AHEAD OF UTC
+GUYANA 3 H BEHIND UTC
+HAITI 5 H BEHIND UTC
+HAITI 4 H BEHIND UTC APR 3 - OCT 29
+HOLLAND SEE NETHERLANDS
+HONDURAS 6 H BEHIND UTC
+HONG KONG 8 H AHEAD OF UTC
+HUNGARY 1 H AHEAD OF UTC
+HUNGARY 2 H AHEAD OF UTC MAR 27 - SEP 24
+ICELAND ON UTC
+INDIA 5.5H AHEAD OF UTC INCLUDING ANDAMAN ISLANDS
+INDONESIA WEST 7 H AHEAD OF UTC SUMATRA, JAVA, BALI,
+INDONESIA WEST JAKARTA
+INDONESIA CENTRAL 8 H AHEAD OF UTC KALIMANTAN, SULAWESI
+INDONESIA EAST 9 H AHEAD OF UTC IRIAN, BARAT
+IRAN 3.5H AHEAD OF UTC
+IRAQ 3 H AHEAD OF UTC
+IRAQ 4 H AHEAD OF UTC APR 1 - SEP 30
+IRELAND ON UTC
+IRELAND 1 H AHEAD OF UTC MAR 27 - OCT 22
+ISRAEL 2 H AHEAD OF UTC
+ISRAEL 3 H AHEAD OF UTC APR 10 - SEP 3
+ITALY 1 H AHEAD OF UTC
+ITALY 2 H AHEAD OF UTC MAR 27 - SEP 24
+IVORY COAST ON UTC
+IWAN 8 H AHEAD OF UTC
+JAMAICA 5 H BEHIND UTC
+JAPAN 9 H AHEAD OF UTC
+JOHNSTON ISLAND 10 H BEHIND UTC
+JORDAN 2 H AHEAD OF UTC
+JORDAN 3 H AHEAD OF UTC APR 1 - OCT 6
+KAMPUCHEA 7 H AHEAD OF UTC
+KENYA 3 H AHEAD OF UTC
+KIRIBATI, REP OF 12 H AHEAD OF UTC CANTON, ENDERBURY ISLANDS
+KIRIBATI, REP OF 11 H AHEAD OF UTC CHRISTMAS ISLAND
+KOREA 9 H AHEAD OF UTC
+KOREA, REP OF 9 H AHEAD OF UTC
+KOREA, REP OF 10 H AHEAD OF UTC MAY 8 - OCT 8
+KUWAIT 3 H AHEAD OF UTC
+KUSAIE, PINGELAP 12 H AHEAD OF UTC INCLUDING MARSHALL IS.,
+KUSAIE, PINGELAP EXCLUDING KWAJALEIN)
+KWAJALEIN 12 H BEHIND UTC
+LAOS 7 H AHEAD OF UTC
+LEBANON 2 H AHEAD OF UTC
+LEBANON 3 H AHEAD OF UTC JUN 1 - OCT 31
+LEEWARD ISLANDS 4 H BEHIND UTC ANTIGUA, DOMINICA,
+LEEWARD ISLANDS MONTSERRAT, ST.
+LEEWARD ISLAANDS CHRISTOPHER, ST. KITTS,
+LEEWARD ISLANDS NEVIS, ANGUILLA
+LESOTHO 2 H AHEAD OF UTC
+LIBERIA ON UTC
+LIBYAN ARAB 1 H AHEAD OF UTC JAMAHIRIYA/LIBYA
+LIBYAN ARAB 2 H AHEAD OF UTC APR 1 - SEP 30 JAMAHIRIYA/LIBYA
+LIECHTENSTEIN 1 H AHEAD OF UTC
+LIECHTENSTEIN 2 H AHEAD OF UTC MAR 27 - SEP 24
+LUXEMBOURG 1 H AHEAD OF UTC
+LUXEMBOURG 2 H AHEAD OF UTC MAR 27 - SEP 24
+MACAO 8 H AHEAD OF UTC
+MADAGASCAR 3 H AHEAD OF UTC
+MADEIRA SEE PORTUGAL
+MALAWI 2 H AHEAD OF UTC
+MALAYSIA 8 H AHEAD OF UTC
+MALDIVES 5 H AHEAD OF UTC
+MALI ON UTC
+MALTA 1 H AHEAD OF UTC
+MALTA 2 H AHEAD OF UTC MAR 27 - SEP 24
+MARTINIQUE 4 H BEHIND UTC
+MAURITANIA ON UTC
+MAURITIUS 4 H AHEAD OF UTC
+MARIANA ISLAND 10 H AHEAD OF UTC EXCLUDING GUAM
+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 - OCT 29
+MEXICO BAJA CAL N 7 H BEHIND UTC ABOVE 28TH PARALLAL APR 3
+MEXICO BAJA CAL N - 0CT 29
+MEXICO 6 H BEHIND UTC STATES OF DURANGO,
+MEXICO COAHUILA, NUEVO LEON,
+MEXICO TAMAULIPAS
+MEXICO 5 H BEHIND UTC STATES OF DURANGO,
+MEXICO COAHUILA, NUEVO LEON,
+MEXICO TAMAULIPAS APR 3 - OCT 29
+MEXICO 6 H BEHIND UTC GENERAL MEXICO, STATES OF
+MEXICO CAMPECHE, QUINTANA ROO AND
+MEXICO YUCATAN
+MIDWAY ISLAND 11 H BEHIND UTC
+MONACO 1 H AHEAD OF UTC
+MONACO 2 H AHEAD OF UTC MAR 27 - SEP 24
+MONGOLIA 8 H AHEAD OF UTC
+MONGOLIA 9 H AHEAD OF UTC MAR 27 - SEP 24
+MONTSERRAT 4 H BEHIND UTC
+MOROCCO ON UTC
+MOZAMBIQUE 2 H AHEAD OF UTC
+NAMIBIA 2 H AHEAD OF UTC
+NAURU, REP OF 12 H AHEAD OF UTC
+NEPAL 5H45M AHEAD OF UTC
+NETHERLANDS 1 H AHEAD OF UTC
+NETHERLANDS 2 H AHEAD OF UTC MAR 27 - SEP 24
+NETHERLANDS 4 H BEHIND UTC ANTILLES AND SOUTHERN ST.
+NETHERLANDS MAARTEN
+NEW CALEDONIA 11 H AHEAD OF UTC
+NEW HEBRIDES SEE VANUATU
+NEW ZEALAND 12 H AHEAD OF UTC (EXCLUDING CHATHAM ISLAND)
+NEW ZEALAND 13 H AHEAD OF UTC OCT 30, '88-MAR 4, '89
+NEW ZEALAND 12H45M AHEAD OF UTC CHATHAM ISLAND
+NICARAGUA 6 H BEHIND UTC
+NIGER 1 H AHEAD OF UTC
+NIGERIA 1 H AHEAD OF UTC
+NIUE ISLAND 11 H BEHIND UTC
+NORFOLK ISLAND 11H30M AHEAD OF UTC
+NORTHERN IRELAND ON UTC WALES, SCOTLAND, N.I.,
+NORTHERN IRELAND CH.IS.
+NORTHERN IRELAND 1 H AHEAD OF UTC MAR 27 - OCT 22
+NORWAY 1 H AHEAD OF UTC
+NORWAY 2 H AHEAD OF UTC MAR 27 - SEP 24
+OGO ON UTC
+OMAN 4 H AHEAD OF UTC
+PACIFIC ISLAND T.T.
+PALAU ISLAND 9 H AHEAD OF UTC
+PAKISTAN 5 H AHEAD OF UTC
+PANAMA 5 H BEHIND UTC
+PAPUA NEW GUINEA 10 H AHEAD OF UTC INCLUDING BOUGAINVILLE
+PAPUA NEW GUINEA ISLAND
+PARAGUAY 4 H BEHIND UTC
+PARAGUAY 3 H BEHIND UTC OCT 1, '88-MAR 31, '89
+PERU 5 H BEHIND UTC
+PHILIPPINES 8 H AHEAD OF UTC
+PONAPE ISLAND 11 H AHEAD OF UTC
+POLAND 1 H AHEAD OF UTC
+POLAND 2 H AHEAD OF UTC MAR 27 - SEP 24
+PORTUGAL MAINLAND ON UTC
+PORTUGAL MAINLAND 1 H AHEAD OF UTC MAR 27 - SEP 24
+PORTUGAL AZORES 1 H BEHIND UTC
+PORTUGAL AZORES ON UTC MAR 27 - SEP 24
+PORTUGAL MADEIRA ON UTC
+PORTUGAL MADEIRA 1 H AHEAD OF UTC MAR 27 - SEP 24
+PUERTO RICO 4 H BEHIND UTC
+QATAR 3 H AHEAD OF UTC
+ROMANIA 2 H AHEAD OF UTC
+ROMANIA 3 H AHEAD OF UTC MAR 27 - SEP 24
+RUSSIA SEE USSR
+RWANDA 2 H AHEAD OF UTC
+SABA 4 H BEHIND UTC ALSO BONAIRE, CURACAO,
+SAMOA 11 H BEHIND UTC
+SAN MARINO 1 H AHEAD OF UTC
+SAN MARINO 2 H AHEAD OF UTC MAR 27 - SEP 24
+SAN SALVADOR 6 H BEHIND UTC
+SAO TOME ISLAND ON UTC AND PRINCIPE ISLAND
+SAUDI ARABIA 3 H AHEAD OF UTC
+SCOTLAND SEE ENGLAND
+SENEGAL ON UTC
+SEYCHELLES 4 H AHEAD OF UTC
+SIERRA LEONE ON UTC
+SINGAPORE 8 H AHEAD OF UTC
+SOLOMON ISLANDS 11 H AHEAD OF UTC EXCLUDING BOUGAINVILLE
+SOLOMON ISLANDS ISLAND
+SOMALI 3 H AHEAD OF UTC
+SOUTH AFRICA 2 H AHEAD OF UTC
+SPAIN CANARY IS ON UTC
+SPAIN CANARY IS 1 H AHEAD OF UTC MAR 27 - SEP 24
+SPAIN 1 H AHEAD OF UTC CONTINENTAL, BALEARIC AND
+SPAIN MALLORCA ISLANDS
+SPAIN 2 H AHEAD OF UTC CONTINENTAL, BALEARIC AND
+SPAIN MALLORCA ISLANDS MAR 27 -
+SPAIN SEP 24
+SPAIN MAINLAND 1 H AHEAD OF UTC MELILLA
+SPAIN MAINLAND 2 H AHEAD OF UTC MAR 27 - SEP 24
+SRI LANKA 5H30M AHEAD OF UTC
+ST.MAARTEN
+ST.KITTS-NEVIS 4 H BEHIND UTC
+ST.LUCIA 4 H BEHIND UTC
+ST.PIERRE 3 H BEHIND UTC INCLUDING MIQUELON
+ST.PIERRE 2 H BEHIND UTC INLCUDING MIQUELON APR 3
+ST.PIERRE - OCT 29
+ST.VINCENT 4 H BEHIND UTC INCLUDING THE GRENADINES
+ST. HELENA ON UTC
+SURINAME 3 H BEHIND UTC
+SWAZILAND 2 H AHEAD OF UTC
+SWEDEN 1 H AHEAD OF UTC
+SWEDEN 2 H AHEAD OF UTC MAR 27 - SEP 24
+SWITZERLAND 1 H AHEAD OF UTC
+SWITZERLAND 2 H AHEAD OF UTC MAR 27 - SEP 24
+SYRIA 2 H AHEAD OF UTC
+SYRIA 3 H AHEAD OF UTC MAR 15 - OCT 30
+TAHITI 10 H BEHIND UTC
+TANZANIA 3 H AHEAD OF UTC
+THAILAND 7 H AHEAD OF UTC
+TRINIDAD / TOBAGO 4 H BEHIND UTC
+TUNISIA 1 H AHEAD OF UTC
+TUNISIA 2 H AHEAD OF UTC APR 10 - SEP 24
+TURKEY 2 H AHEAD OF UTC
+TURKEY 3 H AHEAD OF UTC MAR 27 - SEP 24
+TURKS AND CAICOS 5 H BEHIND UTC
+TURKS AND CAICOS 4 H BEHIND UTC APR 3 - OCT 29
+TUVALU 12 H AHEAD OF UTC
+UDAN 2 H AHEAD OF UTC
+UGANDA 3 H AHEAD OF UTC
+UNITED ARAB EMIR. 4 H AHEAD OF UTC ABU DHABI, DUBAI, SHARJAH,
+UNITED ARAB EMIR RAS AL KHAIMAH
+UNITED KINGDOM ON UTC WALES, SCOTLAND, N.I., CH.
+UNITED KINGDOM IS.
+UNITED KINGDOM 1 H AHEAD OF UTC MAR 27 - OCT 22
+UNITED STATES SEE USA
+UPPER VOLTA ON UTC
+URUGUAY 3 H BEHIND UTC
+URUGUAY 2 H BEHIND UTC DEC 11, '88-FEB 25, '89
+URAGUAY (ESTIMATED)
+USA EASTERN 5 H BEHIND UTC NEW YORK, WASHINGTON
+USA EASTERN 4 H BEHIND UTC APR 3 - OCT 30
+USA CENTRAL 6 H BEHIND UTC CHICAGO, HOUSTON
+USA CENTRAL 5 H BEHIND UTC APR 3 - OCT 30
+USA MOUNTAIN 7 H BEHIND UTC DENVER
+USA MOUNTAIN 6 H BEHIND UTC APR 3 - OCT 30
+USA PACIFIC 8 H BEHIND UTC L.A., SAN FRANCISCO
+USA PACIFIC 7 H BEHIND UTC APR 3 - OCT 30
+USA ALASKA STD 9 H BEHIND UTC MOST OF ALASKA (AKST)
+USA ALASKA STD 8 H BEHIND UTC APR 3 - OCT 30 (AKDT)
+USA ALEUTIAN 10 H BEHIND UTC ISLANDS WEST OF 170W
+USA - " - 9 H BEHIND UTC APR 3 - OCT 30
+USA HAWAII 10 H BEHIND UTC
+USA BERING 11 H BEHIND UTC SAMOA, MIDWAY
+USA FOR SPECIFIC INFO ON USA ZONES/TIMES CALL DOT 202-426-4520
+USSR WEST EUROP 3 H AHEAD OF UTC LENINGRAD, MOSCOW
+USSR WEST EUROP 4 H AHEAD OF UTC APR 1 - SEP 30
+USSR CENTRAL EUR 4 H AHEAD OF UTC ROSTOV, BAKU
+USSR CENTRAL EUR 5 H AHEAD OF UTC APR 1 - SEP 30
+USSR EAST EUROP 5 H AHEAD OF UTC SVERDLOVSK
+USSR EAST EUROP 6 H AHEAD OF UTC APR 1 - SEP 30
+USSR WEST SIBERIAN 6 H AHEAD OF UTC TASHKENT, ALMA ATA
+USSR WEST SIBERIAN 7 H AHEAD OF UTC APR 1 - SEP 30
+USSR WEST-CENTRAL 7 H AHEAD OF UTC NOVOSIBIRSK
+USSR WEST-CENTRAL 8 H AHEAD OF UTC APR 1 - SEP 30
+USSR WEST-CENTRAL 8 H AHEAD OF UTC IRKUTSK
+USSR WEST-CENTRAL 9 H AHEAD OF UTC APR 1 - SEP 30
+USSR CENTRAL SIB 9 H AHEAD OF UTC YAKUTSK
+USSR CENTRAL SIB 10 H AHEAD OF UTC APR 1 - SEP 30
+USSR CENTRAL SIB 10 H AHEAD OF UTC VLADIVOSTOK
+USSR CENTRAL SIB 11 H AHEAD OF UTC APR 1 - SEP 30
+USSR EAST SIBERIA 11 H AHEAD OF UTC MAGADAN
+USSR EAST SIBERIA 12 H AHEAD OF UTC APR 1 - SEP 30
+USSR EAST SIBERIA 12 H AHEAD OF UTC PETROPAVLOVSK
+USSR EAST SIBERIA 13 H AHEAD OF UTC APR 1 - SEP 30
+USSR EAST SIBERIA 13 H AHEAD OF UTC UELEN
+USSR EAST SIBERIA 14 H AHEAD OF UTC APR 1 - SEP 30
+VANUATU 11 H AHEAD OF UTC (NEW HEBRIDES)
+VANUATU 12 H AHEAD OF UTC SEP 25, '88-MAR 25, '89
+VANUATU (ESTIMATED)
+VATICAN 1 H AHEAD OF UTC
+VATICAN 2 H AHEAD OF UTC MAR 27 - SEP 24
+VIETNAM 7 H AHEAD OF UTC
+VIRGIN ISLANDS 4 H BEHIND UTC ST.CROIX, ST.THOMAS,
+VIRGIN ISLANDS ST.JOHN
+WAKE ISLAND 12 H AHEAD OF UTC
+WALES SEE ENGLAND
+WALLIS/FUTUNA IS. 12 H AHEAD OF UTC
+WINDWARD ISLANDS 4 H BEHIND UTC GRENADA, ST. LUCIA
+YEMEN 3 H AHEAD OF UTC BOTH REPUBLICS
+YUGOSLAVIA 1 H AHEAD OF UTC
+YUGOSLAVIA 2 H AHEAD OF UTC MAR 27 - SEP 24
+ZAIRE EAST 1 H AHEAD OF UTC KINSHASA MBANDAKA
+ZAIRE WEST 2 H AHEAD OF UTC LUBUMBASHI, KASAI, KIVU,
+ZAIRE WEST HAUT-ZAIRE, SHABA
+ZAMBIA 2 H AHEAD OF UTC
+ZIMBABWE 2 H AHEAD OF UTC
diff --git a/unused/usno1989a b/unused/usno1989a
new file mode 100644
index 000000000000..b197b85bb1d1
--- /dev/null
+++ b/unused/usno1989a
@@ -0,0 +1,452 @@
+# @(#)usno1989a 8.1
+#
+# From Arthur David Olson (1994-02-07):
+#
+# Here's time zone information from the United States Naval Observatory,
+# with corrections from Paul Eggert.
+# The USNO warns:
+# DUE TO FREQUENT CHANGES IN THE LOCAL LAWS GOVERNING DAYLIGHT
+# SAVING TIME, WE CANNOT GUARANTEE THE ACCURACY OF THIS
+# INFORMATION. PLEASE ALERT US TO ANY DISCREPANCY YOU MAY
+# DISCOVER.
+#
+AFGHANISTAN 4.5H AHEAD OF UTC
+ALBANIA 1 H AHEAD OF UTC
+ALBANIA 2 H AHEAD OF UTC MAR 27 - SEP 24
+ALBANIA (ESTIMATED)
+ALGERIA 1 H AHEAD OF UTC
+AMERICAN SAMOA 11 H BEHIND UTC
+ANDORRA 1 H AHEAD OF UTC
+ANDORRA 2 H AHEAD OF UTC MAR 27 - SEP 24
+ANDORRA (ESTIMATED)
+ANGOLA 1 H AHEAD OF UTC
+ARGENTINA 3 H BEHIND UTC
+ARUBA 4 H BEHIND UTC ALSO BONAIRE, CURACAO,
+ARUBA ST.MAARTEN
+AUSTRALIA WEST 8 H AHEAD OF UTC PERTH, EXMOUTH
+AUSTRALIA N.T. 9.5H AHEAD OF UTC DARWIN NO ADVANCED TIME
+AUSTRALIA N.T. IN SUMMER
+AUSTRALIA SOUTH 9.5H AHEAD OF UTC ADELAIDE
+AUSTRALIA INCLUDING BROKEN HILL, NSW
+AUSTRALIA SOUTH 10.5H AHEAD OF UTC ADELAIDE OCT 30, '88-MAR
+AUSTRALIA SOUTH 18, '89 INCLUDING BROKEN
+AUSTRIALIA SOUTH HILL, NSW
+AUSTRALIA QUEENL 10 H AHEAD OF UTC
+AUSTRALIA NSW 10 H AHEAD OF UTC SYDNEY
+AUSTRALIA NSW 11 H AHEAD OF UTC SYDNEY OCT 30, '88-MAR 18,
+AUSTRALIA NSW '89
+AUSTRALIA TASM. 10 H AHEAD OF UTC HOBART
+AUSTRALIA TASM. 11 H AHEAD OF UTC HOBART OCT 30, '88-MAR 18,
+AUSTRALIA TASM. '89
+AUSTRIA 1 H AHEAD OF UTC
+AUSTRIA 2 H AHEAD OF UTC MAR 27 - SEPT 24
+AZORES SEE PORTUGAL
+BAHAMAS 5 H BEHIND UTC EXCLUDING TURKS AND CAICOS
+BAHAMAS ISLANDS)
+BAHAMAS 4 H BEHIND UTC APR 3 - OCT 29 (SAME
+BAHAMAS EXCLUSION)
+BAHRAIN 3 H AHEAD OF UTC
+BANGLADESH 6 H AHEAD OF UTC
+BARBADOS 4 H BEHIND UTC
+BELGIUM 1 H AHEAD OF UTC
+BELGIUM 2 H AHEAD OF UTC MAR 27 - SEP 24
+BELIZE 6 H BEHIND UTC
+BENIN PEOPLES REP 1 H AHEAD OF UTC DAHOMEY
+BERMUDA 4 H BEHIND UTC
+BERMUDA 3 H BEHIND UTC APR 3 - OCT 29
+BHUTAN 6 H AHEAD OF UTC
+BOLIVIA 4 H BEHIND UTC
+BONAIRE 4 H BEHIND UTC ALSO ARUBA,CURACAO,
+BONAIRE ST.MAARTEN, SABA
+BOTSWANA 2 H AHEAD OF UTC
+BRAZIL WEST 5 H BEHIND UTC TERRITORY OF ACRE
+BRAZIL WEST 4 H BEHIND UTC ACRE OCT 23, '88-FEB 11,
+BRAZIL '89 (ESTIMATED)
+BRAZIL CENTRAL 4 H BEHIND UTC MANAUS
+BRAZIL CENTRAL 3 H BEHIND UTC MANAUS OCT 23, '88-FEB 11,
+BRAZIL CENTRAL '89 (ESTIMATED)
+BRAZIL EAST 3 H BEHIND UTC COASTAL STATES, RIO, SAO
+BRAZIL EAST PAULO, BRASILIA
+BRAZIL EAST 2 H BEHIND UTC COASTAL STATES, RIO, SAO
+BRAZIL PAULO, BRASILIA OCT 23,
+BRAZIL '88-FEB 11, '89
+BRAZIL (ESTIMATED)
+BRAZIL 2 H BEHIND UTC ATLANTIC ISLANDS, FERNANDO
+BRAZIL DE NORONHA
+BRAZIL 1 H BEHIND UTC OCT 23, '88-FEB 11, '89
+BRAZIL (ESTIMATED)
+BRAZIL 3 H BEHIND UTC FOR MOST MAJOR AIRPORTS.
+BRITISH VIRGIN I. 4 H BEHIND UTC
+BRUNEI 8 H AHEAD OF UTC
+BULGARIA 2 H AHEAD OF UTC
+BULGARIA 3 H AHEAD OF UTC MAR 27 - SEP 24
+BURKINA FASO ON UTC
+BURMA 6.5H AHEAD OF UTC
+BURUNDI 2 H AHEAD OF UTC
+CAMBODIA SEE KAMPUCHEA
+CAMEROON 1 H AHEAD OF UTC
+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
+CAPE VERDE 1 H BEHIND UTC
+CAYMAN ISLANDS 5 H BEHIND UTC
+CAROLINE ISLAND 10 H AHEAD OF UTC EXCLUDING PONAPE IS.,
+CAROLINE ISLAND KUSAIE, AND PINGELAP
+CENTRAL AFRICA 1 H AHEAD OF UTC
+CEYLON 5.5H AHEAD OF UTC, SEE SRI LANKA
+CHAD 1 H AHEAD OF UTC
+CHANNEL ISLANDS SEE ENGLAND
+CHILE 4 H BEHIND UTC CONTINENTAL
+CHILE 3 H BEHIND UTC OCT 9, '88-MAR 11, '89
+CHILE 6 H BEHIND UTC EASTER ISLAND
+CHILE 5 H BEHIND UTC OCT 9, '88-MAR 11, '89
+CHINA 8 H AHEAD OF UTC ALL OF CHINA, INCL TAIWAN
+CHINA 9 H AHEAD OF UTC APR 17 - SEP 10
+COCOS (Keeling) I. 6.5H AHEAD OF UTC
+COLOMBIA 5 H BEHIND UTC
+COMOROS 3 H AHEAD OF UTC
+CONGO 1 H AHEAD OF UTC
+COOK ISLANDS 10 H BEHIND UTC
+COOK ISLANDS 9.5H BEHIND UTC OCT 30, '88-MAR 24, '89
+COOK ISLANDS (ESTIMATED)
+COSTA RICA 6 H BEHIND UTC
+COTE D'IVOIRE ON UTC
+CUBA 5 H BEHIND UTC
+CUBA 4 H BEHIND UTC MAR 20 - OCT 8
+CURACAO 4 H BEHIND UTC ALSO BONAIRE, ARUBA,
+CURACAO ST.MAARTEN
+CYPRUS 2 H AHEAD OF UTC
+CYPRUS 3 H AHEAD OF UTC MAR 27 - SEP 24
+CZECHOSLOVAKIA 1 H AHEAD OF UTC
+CZECHOSLOVAKIA 2 H AHEAD OF UTC MAR 27 - SEP 24
+DENMARK 1 H AHEAD OF UTC
+DENMARK 2 H AHEAD OF UTC MAR 27 - SEP 24
+DENMK. FAEROE IS 1 H AHEAD OF UTC MAR 27 - SEP 24
+DJIBOUTI 3 H AHEAD OF UTC
+DOMINICA 4 H BEHIND UTC
+DOMINICAN REP 4 H BEHIND UTC
+ECUADOR 5 H BEHIND UTC CONTINENTAL
+ECUADOR 6 H BEHIND UTC GALAPAGOS ISLANDS
+EGYPT 2 H AHEAD OF UTC
+EGYPT 3 H AHEAD OF UTC MAY 17 - SEP 30 (AFTER
+EGYPT RAMADAN)
+EL SALVADOR 6 H BEHIND UTC
+ENGLAND ON UTC (WALES, SCOTLAND, N.I.,
+ENGLAND CH. IS.)
+ENGLAND 1 H AHEAD OF UTC MAR 27 - OCT 22
+EQUATORIAL GUINEA 1 H AHEAD OF UTC
+ETHIOPIA 3 H AHEAD OF UTC
+FALKLAND ISLANDS 4 H BEHIND UTC
+FALKLAND ISLANDS 3 H BEHIND UTC SEP 11, '88-APR 15, '89
+FALKLAND ISLANDS (ESTIMATED)
+FAROE ISLAND ON UTC
+FAROE ISLAND 1 H AHEAD OF UTC MAR 27 - SEP 24
+FIJI 12 H AHEAD OF UTC
+FINLAND 2 H AHEAD OF UTC
+FINLAND 3 H AHEAD OF UTC MAR 27 - SEP 24
+FRANCE 1 H AHEAD OF UTC
+FRANCE 2 H AHEAD OF UTC MAR 27 - SEP 24
+FRENCH GUIANA 3 H BEHIND UTC
+FRENCH POLYNESIA 9 H BEHIND UTC GAMBIER ISLAND
+FRENCH POLYNESIA 9.5H BEHIND UTC MARQUESAS ISLANDS
+FRENCH POLYNESIA 10 H BEHIND UTC SOCIETY ISLANDS, TUBUAI
+FRENCH POLYNESIA ISLANDS, TUAMOTU ISLAND,
+FRENCH POLYNESIA TAHITI
+GABON 1 H AHEAD OF UTC
+GAMBIA ON UTC
+GERMANY ALL 1 H AHEAD OF UTC
+GERMANY ALL 2 H AHEAD OF UTC MAR 27 - SEP 24
+GHANA ON UTC
+GIBRALTAR 1 H AHEAD OF UTC
+GIBRALTAR 2 H AHEAD OF UTC MAR 27 - SEP 24
+GREECE 2 H AHEAD OF UTC
+GREECE 3 H AHEAD OF UTC MAR 27 - SEP 24
+GREENLAND 4 H BEHIND UTC THULE AIRBASE YEAR ROUND
+GREENLAND 3 H BEHIND UTC ANGMAGSSALIK AND W. COAST
+GREENLAND 2 H BEHIND UTC MAR 27 - SEP 24
+GREENLAND 1 H BEHIND UTC SCORESBYSUND
+GREENLAND ON UTC MAR 27 - SEP 24
+GRENADA 4 H BEHIND UTC
+GUADELOUPE 4 H BEHIND UTC ST. BARTHELEMY, NORTHERN
+GUADELOUPE ST. MARTIN MARTINIQUE
+GUAM 10 H AHEAD OF UTC
+GUATEMALA 6 H BEHIND UTC
+GUINEA ON UTC
+GUINEA BISSAU ON UTC
+GUINEA REPUBLIC ON UTC
+GUINEA EQUATORIAL 1 H AHEAD OF UTC
+GUYANA 3 H BEHIND UTC
+HAITI 5 H BEHIND UTC
+HAITI 4 H BEHIND UTC APR 3 - OCT 29
+HOLLAND SEE NETHERLANDS
+HONDURAS 6 H BEHIND UTC
+HONG KONG 8 H AHEAD OF UTC
+HUNGARY 1 H AHEAD OF UTC
+HUNGARY 2 H AHEAD OF UTC MAR 27 - SEP 24
+ICELAND ON UTC
+INDIA 5.5H AHEAD OF UTC INCLUDING ANDAMAN ISLANDS
+INDONESIA WEST 7 H AHEAD OF UTC SUMATRA, JAVA, BALI,
+INDONESIA WEST JAKARTA
+INDONESIA CENTRAL 8 H AHEAD OF UTC KALIMANTAN, SULAWESI
+INDONESIA EAST 9 H AHEAD OF UTC IRIAN, BARAT
+IRAN 3.5H AHEAD OF UTC
+IRAQ 3 H AHEAD OF UTC
+IRAQ 4 H AHEAD OF UTC APR 1 - SEP 30
+IRELAND ON UTC
+IRELAND 1 H AHEAD OF UTC MAR 27 - OCT 22
+ISRAEL 2 H AHEAD OF UTC
+ISRAEL 3 H AHEAD OF UTC APR 10 - SEP 3
+ITALY 1 H AHEAD OF UTC
+ITALY 2 H AHEAD OF UTC MAR 27 - SEP 24
+IVORY COAST ON UTC
+JAMAICA 5 H BEHIND UTC
+JAPAN 9 H AHEAD OF UTC
+JOHNSTON ISLAND 10 H BEHIND UTC
+JORDAN 2 H AHEAD OF UTC
+JORDAN 3 H AHEAD OF UTC APR 1 - OCT 6
+KAMPUCHEA 7 H AHEAD OF UTC
+KENYA 3 H AHEAD OF UTC
+KIRIBATI, REP OF 12 H AHEAD OF UTC CANTON, ENDERBURY ISLANDS
+KIRIBATI, REP OF 11 H AHEAD OF UTC CHRISTMAS ISLAND
+KOREA 9 H AHEAD OF UTC
+KOREA, REP OF 9 H AHEAD OF UTC
+KOREA, REP OF 10 H AHEAD OF UTC MAY 8 - OCT 8
+KUWAIT 3 H AHEAD OF UTC
+KUSAIE, PINGELAP 12 H AHEAD OF UTC INCLUDING MARSHALL IS.,
+KUSAIE, PINGELAP EXCLUDING KWAJALEIN)
+KWAJALEIN 12 H BEHIND UTC
+LAOS 7 H AHEAD OF UTC
+LEBANON 2 H AHEAD OF UTC
+LEBANON 3 H AHEAD OF UTC JUN 1 - OCT 31
+LEEWARD ISLANDS 4 H BEHIND UTC ANTIGUA, DOMINICA,
+LEEWARD ISLANDS MONTSERRAT, ST.
+LEEWARD ISLAANDS CHRISTOPHER, ST. KITTS,
+LEEWARD ISLANDS NEVIS, ANGUILLA
+LESOTHO 2 H AHEAD OF UTC
+LIBERIA ON UTC
+LIBYAN ARAB 1 H AHEAD OF UTC JAMAHIRIYA/LIBYA
+LIBYAN ARAB 2 H AHEAD OF UTC APR 1 - SEP 30 JAMAHIRIYA/LIBYA
+LIECHTENSTEIN 1 H AHEAD OF UTC
+LIECHTENSTEIN 2 H AHEAD OF UTC MAR 27 - SEP 24
+LUXEMBOURG 1 H AHEAD OF UTC
+LUXEMBOURG 2 H AHEAD OF UTC MAR 27 - SEP 24
+MACAO 8 H AHEAD OF UTC
+MADAGASCAR 3 H AHEAD OF UTC
+MADEIRA SEE PORTUGAL
+MALAWI 2 H AHEAD OF UTC
+MALAYSIA 8 H AHEAD OF UTC
+MALDIVES 5 H AHEAD OF UTC
+MALI ON UTC
+MALTA 1 H AHEAD OF UTC
+MALTA 2 H AHEAD OF UTC MAR 27 - SEP 24
+MARTINIQUE 4 H BEHIND UTC
+MAURITANIA ON UTC
+MAURITIUS 4 H AHEAD OF UTC
+MARIANA ISLANDS 10 H AHEAD OF UTC EXCLUDING GUAM
+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 - OCT 29
+MEXICO BAJA CAL N 7 H BEHIND UTC ABOVE 28TH PARALLAL APR 3
+MEXICO BAJA CAL N - 0CT 29
+MEXICO 6 H BEHIND UTC STATES OF DURANGO,
+MEXICO COAHUILA, NUEVO LEON,
+MEXICO TAMAULIPAS
+MEXICO 5 H BEHIND UTC STATES OF DURANGO,
+MEXICO COAHUILA, NUEVO LEON,
+MEXICO TAMAULIPAS APR 3 - OCT 29
+MEXICO 6 H BEHIND UTC GENERAL MEXICO, STATES OF
+MEXICO CAMPECHE, QUINTANA ROO AND
+MEXICO YUCATAN
+MIDWAY ISLAND 11 H BEHIND UTC
+MONACO 1 H AHEAD OF UTC
+MONACO 2 H AHEAD OF UTC MAR 27 - SEP 24
+MONGOLIA 8 H AHEAD OF UTC
+MONGOLIA 9 H AHEAD OF UTC MAR 27 - SEP 24
+MONTSERRAT 4 H BEHIND UTC
+MOROCCO ON UTC
+MOZAMBIQUE 2 H AHEAD OF UTC
+NAMIBIA 2 H AHEAD OF UTC
+NAURU, REP OF 12 H AHEAD OF UTC
+NEPAL 5H45M AHEAD OF UTC
+NETHERLANDS 1 H AHEAD OF UTC
+NETHERLANDS 2 H AHEAD OF UTC MAR 27 - SEP 24
+NETHERLANDS 4 H BEHIND UTC ANTILLES AND SOUTHERN ST.
+NETHERLANDS MAARTEN
+NEW CALEDONIA 11 H AHEAD OF UTC
+NEW HEBRIDES SEE VANUATU
+NEW ZEALAND 12 H AHEAD OF UTC (EXCLUDING CHATHAM ISLAND)
+NEW ZEALAND 13 H AHEAD OF UTC OCT 30, '88-MAR 4, '89
+NEW ZEALAND 12H45M AHEAD OF UTC CHATHAM ISLAND
+NICARAGUA 6 H BEHIND UTC
+NIGER 1 H AHEAD OF UTC
+NIGERIA 1 H AHEAD OF UTC
+NIUE ISLAND 11 H BEHIND UTC
+NORFOLK ISLAND 11H30M AHEAD OF UTC
+NORTHERN IRELAND ON UTC WALES, SCOTLAND, N.I.,
+NORTHERN IRELAND CH.IS.
+NORTHERN IRELAND 1 H AHEAD OF UTC MAR 27 - OCT 22
+NORWAY 1 H AHEAD OF UTC
+NORWAY 2 H AHEAD OF UTC MAR 27 - SEP 24
+OMAN 4 H AHEAD OF UTC
+PACIFIC ISLAND T.T.
+PALAU ISLANDS 9 H AHEAD OF UTC
+PAKISTAN 5 H AHEAD OF UTC
+PANAMA 5 H BEHIND UTC
+PAPUA NEW GUINEA 10 H AHEAD OF UTC INCLUDING BOUGAINVILLE
+PAPUA NEW GUINEA ISLAND
+PARAGUAY 4 H BEHIND UTC
+PARAGUAY 3 H BEHIND UTC OCT 1, '88-MAR 31, '89
+PERU 5 H BEHIND UTC
+PHILIPPINES 8 H AHEAD OF UTC
+PONAPE ISLAND 11 H AHEAD OF UTC
+POLAND 1 H AHEAD OF UTC
+POLAND 2 H AHEAD OF UTC MAR 27 - SEP 24
+PORTUGAL MAINLAND ON UTC
+PORTUGAL MAINLAND 1 H AHEAD OF UTC MAR 27 - SEP 24
+PORTUGAL AZORES 1 H BEHIND UTC
+PORTUGAL AZORES ON UTC MAR 27 - SEP 24
+PORTUGAL MADEIRA ON UTC
+PORTUGAL MADEIRA 1 H AHEAD OF UTC MAR 27 - SEP 24
+PUERTO RICO 4 H BEHIND UTC
+QATAR 3 H AHEAD OF UTC
+ROMANIA 2 H AHEAD OF UTC
+ROMANIA 3 H AHEAD OF UTC MAR 27 - SEP 24
+RUSSIA SEE USSR
+RWANDA 2 H AHEAD OF UTC
+SABA 4 H BEHIND UTC ALSO BONAIRE, CURACAO,
+SAMOA 11 H BEHIND UTC
+SAN MARINO 1 H AHEAD OF UTC
+SAN MARINO 2 H AHEAD OF UTC MAR 27 - SEP 24
+SAN SALVADOR 6 H BEHIND UTC
+SAO TOME ISLAND ON UTC AND PRINCIPE ISLAND
+SAUDI ARABIA 3 H AHEAD OF UTC
+SCOTLAND SEE ENGLAND
+SENEGAL ON UTC
+SEYCHELLES 4 H AHEAD OF UTC
+SIERRA LEONE ON UTC
+SINGAPORE 8 H AHEAD OF UTC
+SOLOMON ISLANDS 11 H AHEAD OF UTC EXCLUDING BOUGAINVILLE
+SOLOMON ISLANDS ISLAND
+SOMALI 3 H AHEAD OF UTC
+SOUTH AFRICA 2 H AHEAD OF UTC
+SPAIN CANARY IS ON UTC
+SPAIN CANARY IS 1 H AHEAD OF UTC MAR 27 - SEP 24
+SPAIN 1 H AHEAD OF UTC CONTINENTAL, BALEARIC AND
+SPAIN MALLORCA ISLANDS
+SPAIN 2 H AHEAD OF UTC CONTINENTAL, BALEARIC AND
+SPAIN MALLORCA ISLANDS MAR 27 -
+SPAIN SEP 24
+SPAIN MAINLAND 1 H AHEAD OF UTC MELILLA
+SPAIN MAINLAND 2 H AHEAD OF UTC MAR 27 - SEP 24
+SRI LANKA 5H30M AHEAD OF UTC
+ST. MAARTEN
+ST. KITTS-NEVIS 4 H BEHIND UTC
+ST. LUCIA 4 H BEHIND UTC
+ST. PIERRE 3 H BEHIND UTC INCLUDING MIQUELON
+ST. PIERRE 2 H BEHIND UTC INLCUDING MIQUELON APR 3
+ST. PIERRE - OCT 29
+ST. VINCENT 4 H BEHIND UTC INCLUDING THE GRENADINES
+ST. HELENA ON UTC
+SUDAN 2 H AHEAD OF UTC
+SURINAME 3 H BEHIND UTC
+SWAZILAND 2 H AHEAD OF UTC
+SWEDEN 1 H AHEAD OF UTC
+SWEDEN 2 H AHEAD OF UTC MAR 27 - SEP 24
+SWITZERLAND 1 H AHEAD OF UTC
+SWITZERLAND 2 H AHEAD OF UTC MAR 27 - SEP 24
+SYRIA 2 H AHEAD OF UTC
+SYRIA 3 H AHEAD OF UTC MAR 15 - OCT 30
+TAHITI 10 H BEHIND UTC
+TAIWAN 8 H AHEAD OF UTC
+TANZANIA 3 H AHEAD OF UTC
+THAILAND 7 H AHEAD OF UTC
+TOGO ON UTC
+TRINIDAD / TOBAGO 4 H BEHIND UTC
+TUNISIA 1 H AHEAD OF UTC
+TUNISIA 2 H AHEAD OF UTC APR 10 - SEP 24
+TURKEY 2 H AHEAD OF UTC
+TURKEY 3 H AHEAD OF UTC MAR 27 - SEP 24
+TURKS AND CAICOS 5 H BEHIND UTC
+TURKS AND CAICOS 4 H BEHIND UTC APR 3 - OCT 29
+TUVALU 12 H AHEAD OF UTC
+UGANDA 3 H AHEAD OF UTC
+UNITED ARAB EMIR. 4 H AHEAD OF UTC ABU DHABI, DUBAI, SHARJAH,
+UNITED ARAB EMIR RAS AL KHAIMAH
+UNITED KINGDOM ON UTC WALES, SCOTLAND, N.I., CH.
+UNITED KINGDOM IS.
+UNITED KINGDOM 1 H AHEAD OF UTC MAR 27 - OCT 22
+UNITED STATES SEE USA
+UPPER VOLTA ON UTC
+URUGUAY 3 H BEHIND UTC
+URUGUAY 2 H BEHIND UTC DEC 11, '88-FEB 25, '89
+URAGUAY (ESTIMATED)
+USA EASTERN 5 H BEHIND UTC NEW YORK, WASHINGTON
+USA EASTERN 4 H BEHIND UTC APR 3 - OCT 30
+USA CENTRAL 6 H BEHIND UTC CHICAGO, HOUSTON
+USA CENTRAL 5 H BEHIND UTC APR 3 - OCT 30
+USA MOUNTAIN 7 H BEHIND UTC DENVER
+USA MOUNTAIN 6 H BEHIND UTC APR 3 - OCT 30
+USA PACIFIC 8 H BEHIND UTC L.A., SAN FRANCISCO
+USA PACIFIC 7 H BEHIND UTC APR 3 - OCT 30
+USA ALASKA STD 9 H BEHIND UTC MOST OF ALASKA (AKST)
+USA ALASKA STD 8 H BEHIND UTC APR 3 - OCT 30 (AKDT)
+USA ALEUTIAN 10 H BEHIND UTC ISLANDS WEST OF 170W
+USA - " - 9 H BEHIND UTC APR 3 - OCT 30
+USA HAWAII 10 H BEHIND UTC
+USA BERING 11 H BEHIND UTC SAMOA, MIDWAY
+USA FOR SPECIFIC INFO ON USA ZONES/TIMES CALL DOT 202-426-4520
+USSR WEST EUROP 3 H AHEAD OF UTC LENINGRAD, MOSCOW
+USSR WEST EUROP 4 H AHEAD OF UTC APR 1 - SEP 30
+USSR CENTRAL EUR 4 H AHEAD OF UTC ROSTOV, BAKU
+USSR CENTRAL EUR 5 H AHEAD OF UTC APR 1 - SEP 30
+USSR EAST EUROP 5 H AHEAD OF UTC SVERDLOVSK
+USSR EAST EUROP 6 H AHEAD OF UTC APR 1 - SEP 30
+USSR WEST SIBERIAN 6 H AHEAD OF UTC TASHKENT, ALMA ATA
+USSR WEST SIBERIAN 7 H AHEAD OF UTC APR 1 - SEP 30
+USSR WEST-CENTRAL 7 H AHEAD OF UTC NOVOSIBIRSK
+USSR WEST-CENTRAL 8 H AHEAD OF UTC APR 1 - SEP 30
+USSR WEST-CENTRAL 8 H AHEAD OF UTC IRKUTSK
+USSR WEST-CENTRAL 9 H AHEAD OF UTC APR 1 - SEP 30
+USSR CENTRAL SIB 9 H AHEAD OF UTC YAKUTSK
+USSR CENTRAL SIB 10 H AHEAD OF UTC APR 1 - SEP 30
+USSR CENTRAL SIB 10 H AHEAD OF UTC VLADIVOSTOK
+USSR CENTRAL SIB 11 H AHEAD OF UTC APR 1 - SEP 30
+USSR EAST SIBERIA 11 H AHEAD OF UTC MAGADAN
+USSR EAST SIBERIA 12 H AHEAD OF UTC APR 1 - SEP 30
+USSR EAST SIBERIA 12 H AHEAD OF UTC PETROPAVLOVSK
+USSR EAST SIBERIA 13 H AHEAD OF UTC APR 1 - SEP 30
+USSR EAST SIBERIA 13 H AHEAD OF UTC UELEN
+USSR EAST SIBERIA 14 H AHEAD OF UTC APR 1 - SEP 30
+VANUATU 11 H AHEAD OF UTC (NEW HEBRIDES)
+VANUATU 12 H AHEAD OF UTC SEP 25, '88-MAR 25, '89
+VANUATU (ESTIMATED)
+VATICAN 1 H AHEAD OF UTC
+VATICAN 2 H AHEAD OF UTC MAR 27 - SEP 24
+VENEZUELA 4 H BEHIND UTC
+VIETNAM 7 H AHEAD OF UTC
+VIRGIN ISLANDS 4 H BEHIND UTC ST.CROIX, ST.THOMAS,
+VIRGIN ISLANDS ST.JOHN
+WAKE ISLAND 12 H AHEAD OF UTC
+WALES SEE ENGLAND
+WALLIS/FUTUNA IS. 12 H AHEAD OF UTC
+WINDWARD ISLANDS 4 H BEHIND UTC GRENADA, ST. LUCIA
+YEMEN 3 H AHEAD OF UTC BOTH REPUBLICS
+YUGOSLAVIA 1 H AHEAD OF UTC
+YUGOSLAVIA 2 H AHEAD OF UTC MAR 27 - SEP 24
+ZAIRE EAST 1 H AHEAD OF UTC KINSHASA MBANDAKA
+ZAIRE WEST 2 H AHEAD OF UTC LUBUMBASHI, KASAI, KIVU,
+ZAIRE WEST HAUT-ZAIRE, SHABA
+ZAMBIA 2 H AHEAD OF UTC
+ZIMBABWE 2 H AHEAD OF UTC
diff --git a/unused/usno1995 b/unused/usno1995
new file mode 100644
index 000000000000..8b9ec8d601d4
--- /dev/null
+++ b/unused/usno1995
@@ -0,0 +1,326 @@
+# @(#)usno1995 8.1
+#
+# From Arthur David Olson (1995-12-21):
+#
+# Here's time zone information from the United States Naval Observatory
+# via http://tycho.usno.navy.mil/tzones.html. See USNO's note at the end.
+World Time Zones
+For selected countries, the local standard time offset from UTC is given,
+with daylight savings time where observed.
+Time: Thu Dec 21 17:43:00 utc 1995
+Afghanistan: +4.5 hours
+Albania: +1 hours (Local summer +2 hours)
+Algeria: +1 hours (Local summer +2 hours)
+American Samoa: -11 hours
+Andorra: +1 hours (Local summer +2 hours)
+Angola: +1 hours
+Anguilla: -4 hours
+Antarctica: -2 hours (Local summer -3 hours)
+Antigua: -4 hours
+Argentina: -3 hours
+Argentina western prov: -4 hours
+Armenia: +4 hours (Local summer +5 hours)
+Aruba: -4 hours
+Ascension: 0 hours
+Australia Northern Territory: +9.5 hours
+Australia Lord Howe Island: +10.5 hours (Local summer +11 hours)
+Australia New South Wales: +10 hours (Local summer +11 hours)
+Australia Queensland: +10 hours
+Australia Victoria: +10 hours (Local summer +11 hours)
+Australia Australian Captial Territory: +10 hours (Local summer +11 hours)
+Australia South: +9.5 hours (Local summer +10.5 hours)
+Australia Tasmania: +10 hours (Local summer +11 hours)
+Australia Western: +8 hours
+Austria: +1 hours (Local summer +2 hours)
+Azerbajian: +3 hours
+Azores: -1 hours (Local summer 0 hours)
+Bahamas: -5 hours (Local summer -4 hours)
+Bahrain: +3 hours
+Balearic Islands: +1 hours (Local summer +2 hours)
+Bangladesh: +6 hours
+Barbados: -4 hours
+Belarus: +2 hours (Local summer +3 hours)
+Belgium: +1 hours (Local summer +2 hours)
+Belize: -6 hours
+Benin: +1 hours
+Bermuda: -4 hours (Local summer -3 hours)
+Bhutan: +6 hours
+Bolivia: -4 hours
+Bonaire: -4 hours
+Bosnia Hercegovina: +1 hours (Local summer +2 hours)
+Botswana: +2 hours
+Brazil Acre: -4 hours (Local summer -5 hours)
+Brazil Atlantic Islands: -1 hours (Local summer -2 hours)
+Brazil East: -3 hours (Local summer -1 hours)
+Brazil West: -4 hours (Local summer -3 hours)
+British Virgin Islands: -4 hours
+Brunei: +8 hours
+Bulgaria: +2 hours (Local summer +3 hours)
+Burkina Faso: 0 hours
+Burundi: +2 hours
+Cambodia: +7 hours
+Cameroon: +1 hours
+Canada Central: -6 hours (Local summer -5 hours)
+Canada Eastern: -5 hours (Local summer -4 hours)
+Canada Mountain: -7 hours (Local summer -6 hours)
+Canada Yukon & Pacific: -8 hours (Local summer -7 hours)
+Canada Atlantic: -4 hours (Local summer -3 hours)
+Canada Newfoundland: -3.5 hours (Local summer -2.5 hours)
+Canary Islands: 0 hours (Local summer +1 hours)
+Canton Enderbury Islands: -11 hours
+Cape Verde: -1 hours
+Caroline Island: +11 hours
+Cayman Islands: -5 hours
+Central African Rep: +1 hours
+Chad: +1 hours
+Channel Islands: 0 hours (Local summer +1 hours)
+Chatham Island: +12.75 hours (Local summer +13.75 hours)
+Chile: -4 hours (Local summer -3 hours)
+China People's Rep: +8 hours
+Christmas Islands: -10 hours
+Cocos (Keeling) Islands: ( hours (Local summer ) hours)
+Colombia: -5 hours
+Congo: +1 hours
+Cook Islands: -10 hours
+Costa Rica: -6 hours
+Cote d'Ivoire: 0 hours
+Croatia: +1 hours (Local summer +2 hours)
+Cuba: -5 hours (Local summer -4 hours)
+Curacao: -4 hours
+Cyprus: +2 hours (Local summer +3 hours)
+Czech Republic: +1 hours (Local summer +2 hours)
+Dahomey: +1 hours
+Denmark: +1 hours (Local summer +2 hours)
+Djibouti: +3 hours
+Dominica: -4 hours
+Dominican Republic: -4 hours
+Easter Island: -6 hours (Local summer -5 hours)
+Ecuador: -5 hours
+Egypt: +2 hours (Local summer +3 hours)
+El Salvador: -6 hours
+England: 0 hours (Local summer +1 hours)
+Equitorial Guinea: +1 hours
+Eritrea: +3 hours
+Estonia: +2 hours (Local summer +3 hours)
+Ethiopia: +3 hours
+Falkland Islands: -4 hours (Local summer -3 hours)
+Faroe Island: 0 hours (Local summer +1 hours)
+Fiji: +12 hours
+Finland: +2 hours (Local summer +3 hours)
+France: +1 hours (Local summer +2 hours)
+French Guiana: -3 hours
+French Polynesia: -10 hours
+Gabon: +1 hours
+Galapagos Islands: -6 hours
+Gambia: 0 hours
+Gambier Island: -9 hours
+Georgia: +4 hours
+Germany: +1 hours (Local summer +2 hours)
+Ghana: 0 hours
+Gibraltar: +1 hours (Local summer +2 hours)
+Greece: +2 hours (Local summer +3 hours)
+Greenland: -3 hours (Local summer -2 hours)
+Greenland Thule: -4 hours (Local summer -3 hours)
+Greenland Scoresbysun: -1 hours (Local summer 0 hours)
+Grenada: -4 hours
+Grenadines: -4 hours
+Guadeloupe: -4 hours
+Guam: +10 hours
+Guatemala: -6 hours
+Guinea: 0 hours
+Guinea Bissau: - hours (Local summer 0 hours)
+Guyana: -3 hours
+Haiti: -5 hours (Local summer -4 hours)
+Honduras: -6 hours
+Hong kong: +8 hours
+Hungary: +1 hours (Local summer +2 hours)
+Iceland: 0 hours
+India: +5.5 hours
+Indonesia Central: +8 hours
+Indonesia East: +9 hours
+Indonesia West: +7 hours
+Iran: +3.5 hours
+Iraq: +3 hours (Local summer +4 hours)
+Ireland Republic of: 0 hours (Local summer +1 hours)
+Israel: +2 hours (Local summer +3 hours)
+Italy: +1 hours (Local summer +2 hours)
+Jamaica: -5 hours
+Japan: +9 hours
+Johnston Island: -10 hours
+Jordan: +2 hours (Local summer +3 hours)
+Kazakhstan: +6 hours (Local summer +7 hours)
+Kenya: +3 hours
+Kiribati: +12 hours
+Korea Dem Republic of: +9 hours
+Korea Republic of: +9 hours
+Kusaie: +12 hours
+Kuwait: +3 hours
+Kwajalein: -12 hours
+Kyrgyzstan: +5 hours (Local summer +6 hours)
+Laos: +7 hours
+Latvia: +2 hours (Local summer +3 hours)
+Lebanon: +2 hours (Local summer +3 hours)
+Leeward Islands: -4 hours
+Lesotho: +2 hours
+Liberia: 0 hours
+Libya: +2 hours
+Lithuania: +2 hours (Local summer +3 hours)
+Luxembourg: +1 hours (Local summer +2 hours)
+Macedonia: +1 hours (Local summer +2 hours)
+Madagascar: +3 hours
+Madeira: 0 hours (Local summer +1 hours)
+Malawi: +2 hours
+Malaysia: +8 hours
+Maldives: +5 hours
+Mali: 0 hours
+Mallorca Islands: +1 hours (Local summer +2 hours)
+Malta: +1 hours (Local summer +2 hours)
+Mariana Island: +10 hours
+Marquesas Islands: -9.5 hours
+Marshall Islands: +12 hours
+Martinique: -4 hours
+Mauritania: 0 hours
+Mauritius: +4 hours
+Mayotte: +3 hours
+Melilla: +1 hours (Local summer +2 hours)
+Mexico: -6 hours
+Mexico Baja Calif Norte: -8 hours (Local summer -7 hours)
+Mexico Nayarit: -7 hours
+Mexico Sinaloa: -7 hours
+Mexico Sonora: -7 hours
+Midway Island: -11 hours
+Moldova: +2 hours (Local summer +3 hours)
+Moldovian Rep Pridnestrovye: +2 hours (Local summer +3 hours)
+Monaco: +1 hours (Local summer +2 hours)
+Mongolia: +8 hours
+Morocco: 0 hours
+Mozambique: +2 hours
+Myanmar: +6.5 hours
+Namibia: +1 hours (Local summer +2 hours)
+Nauru Republic of: +12 hours
+Nepal: +5.75 hours
+Netherlands: +1 hours (Local summer +2 hours)
+Netherlands Antilles: -4 hours
+Nevis Montserrat: -4 hours
+New Caledonia: +11 hours
+New Hebrides: +11 hours
+New Zealand: +12 hours (Local summer +13 hours)
+Nicaragua: -6 hours (Local summer -5 hours)
+Niger: +1 hours
+Nigeria: +1 hours
+Niue Island: -11 hours
+Norfolk Island: +11.5 hours
+Northern Ireland: 0 hours (Local summer +1 hours)
+Northern Mariana Islands: +10 hours
+Norway: +1 hours (Local summer +2 hours)
+Oman: +4 hours
+Pakistan: +5 hours
+Palau: +9 hours
+Panama: -5 hours
+Papua New Guinea: +10 hours
+Paraguay: -4 hours (Local summer -3 hours)
+Peru: -5 hours
+Philippines: +8 hours
+Pingelap: +12 hours
+Poland: +1 hours (Local summer +2 hours)
+Ponape Island: +11 hours
+Portugal: +1 hours (Local summer +2 hours)
+Principe Island: 0 hours
+Puerto Rico: -4 hours
+Qatar: +3 hours
+Reunion: +4 hours
+Romania: +2 hours (Local summer +3 hours)
+Russian Federation zone eight: +9 hours (Local summer +10 hours)
+Russian Federation zone eleven: +12 hours (Local summer +13 hours)
+Russian Federation zone five: +6 hours (Local summer +7 hours)
+Russian Federation zone four: +5 hours (Local summer +6 hours)
+Russian Federation zone nine: +10 hours (Local summer +11 hours)
+Russian Federation zone one: +2 hours (Local summer +3 hours)
+Russian Federation zone seven: +8 hours (Local summer +9 hours)
+Russian Federation zone six: +7 hours (Local summer +8 hours)
+Russian Federation zone ten: +11 hours (Local summer +12 hours)
+Russian Federation zone three: +4 hours (Local summer +5 hours)
+Russian Federation zone two: +4 hours (Local summer +5 hours)
+Rwanda: +2 hours
+Saba: -4 hours
+Samoa: -11 hours
+San Marino: +1 hours (Local summer +2 hours)
+Sao Tome e Principe: 0 hours
+Saudi Arabia: +3 hours
+Scotland: 0 hours
+Senegal: 0 hours
+Seychelles: +4 hours
+Sierra Leone: 0 hours
+Singapore: +8 hours
+Slovakia: +1 hours (Local summer +2 hours)
+Slovenia: +1 hours (Local summer +2 hours)
+Society Island: -10 hours
+Solomon Islands: +11 hours
+Somalia: +3 hours
+South Africa: +2 hours
+Spain: +1 hours (Local summer +2 hours)
+Sri Lanka: +5.5 hours
+St Christopher: -4 hours
+St Croix: -4 hours
+St Helena: 0 hours
+St John: -4 hours
+St Kitts Nevis: -4 hours
+St Lucia: -4 hours
+St Maarten: -4 hours
+St Pierre & Miquelon: -3 hours (Local summer -2 hours)
+St Thomas: -4 hours
+St Vincent: -4 hours
+Sudan: +2 hours
+Suriname: -3 hours
+Swaziland: +2 hours
+Sweden: +1 hours (Local summer +2 hours)
+Switzerland: +1 hours (Local summer +2 hours)
+Syria: +2 hours (Local summer +3 hours)
+Tahiti: -10 hours
+Taiwan: +8 hours
+Tajikistan: +6 hours
+Tanzania: +3 hours
+Thailand: +7 hours
+Togo: 0 hours
+Tonga: +13 hours
+Trinidad and Tobago: -4 hours
+Tuamotu Island: -10 hours
+Tubuai Island: -10 hours
+Tunisia: +1 hours
+Turkey: +2 hours (Local summer +3 hours)
+Turkmenistan: +5 hours
+Turks and Caicos Islands: -5 hours (Local summer -4 hours)
+Tuvalu: +12 hours
+Uganda: +3 hours
+Ukraine: +2 hours (Local summer +3 hours)
+United Arab Emirates: +4 hours
+United Kingdom: 0 hours (Local summer +1 hours)
+USA Central: -6 hours (Local summer -5 hours)
+USA Eastern: -5 hours (Local summer -4 hours)
+USA Mountain: -7 hours (Local summer -6 hours)
+USA Arizona: -7 hours
+USA Indiana East: -5 hours
+USA Pacific: -8 hours (Local summer -7 hours)
+USA Alaska: -9 hours (Local summer -8 hours)
+USA Hawaii Aleutian: - hours (Local summer -10 hours)
+Uruguay: -3 hours
+Uzbekistan: +5 hours
+Vanuatu: +11 hours (Local summer +12 hours)
+Vatican City: +1 hours (Local summer +2 hours)
+Venezuela: -4 hours
+Vietnam: +7 hours
+Virgin Islands: -4 hours
+Wake Island: +12 hours
+Wales: 0 hours (Local summer +1 hours)
+Wallis and Futuna Islands: +12 hours
+Windward Islands: -4 hours
+Yemen: +3 hours
+Yugoslavia: +1 hours (Local summer +2 hours)
+Zaire Kasai: +2 hours
+Zaire Kinshasa Mbandaka: +1 hours
+Zaire Haut Zaire: +2 hours
+Zaire Kivu: +2 hours
+Zaire Shaba: +2 hours
+Zambia: +2 hours
+Zimbabwe: +2 hours
+All timezone information is non-authoritative...
diff --git a/unused/usno1997 b/unused/usno1997
new file mode 100644
index 000000000000..e18fcdfcdcbf
--- /dev/null
+++ b/unused/usno1997
@@ -0,0 +1,327 @@
+# @(#)usno1997 8.1
+#
+# From Arthur David Olson (1997-03-07):
+#
+# Here's time zone information from the United States Naval Observatory
+# via http://tycho.usno.navy.mil/tzones.html. See USNO's note at the end.
+Unofficial Time Zone Information
+World Time Zones
+For selected countries, the local standard time offset from UTC is given, with daylight savings time where observed.
+Time: Fri Mar 7 22:38:58 UTC 1997
+Afghanistan: +4.5 hours
+Albania: +1 hours (Local summer +2 hours)
+Algeria: +1 hours (Local summer +2 hours)
+American Samoa: -11 hours
+Andorra: +1 hours (Local summer +2 hours)
+Angola: +1 hours
+Anguilla: -4 hours
+Antarctica: -2 hours (Local summer -3 hours)
+Antigua: -4 hours
+Argentina: -3 hours
+Argentina western prov: -4 hours
+Armenia: +4 hours (Local summer +5 hours)
+Aruba: -4 hours
+Ascension: 0 hours
+Australia Northern Territory: +9.5 hours
+Australia Lord Howe Island: +10.5 hours (Local summer +11 hours)
+Australia New South Wales: +10 hours (Local summer +11 hours)
+Australia Queensland: +10 hours
+Australia Victoria: +10 hours (Local summer +11 hours)
+Australia Australian Captial Territory: +10 hours (Local summer +11 hours)
+Australia South: +9.5 hours (Local summer +10.5 hours)
+Australia Tasmania: +10 hours (Local summer +11 hours)
+Australia Western: +8 hours
+Austria: +1 hours (Local summer +2 hours)
+Azerbajian: +3 hours
+Azores: -1 hours (Local summer 0 hours)
+Bahamas: -5 hours (Local summer -4 hours)
+Bahrain: +3 hours
+Balearic Islands: +1 hours (Local summer +2 hours)
+Bangladesh: +6 hours
+Barbados: -4 hours
+Belarus: +2 hours (Local summer +3 hours)
+Belgium: +1 hours (Local summer +2 hours)
+Belize: -6 hours
+Benin: +1 hours
+Bermuda: -4 hours (Local summer -3 hours)
+Bhutan: +6 hours
+Bolivia: -4 hours
+Bonaire: -4 hours
+Bosnia Hercegovina: +1 hours (Local summer +2 hours)
+Botswana: +2 hours
+Brazil Acre: -4 hours (Local summer -5 hours)
+Brazil Atlantic Islands: -1 hours (Local summer -2 hours)
+Brazil East: -3 hours (Local summer -1 hours)
+Brazil West: -4 hours (Local summer -3 hours)
+British Virgin Islands: -4 hours
+Brunei: +8 hours
+Bulgaria: +2 hours (Local summer +3 hours)
+Burkina Faso: 0 hours
+Burundi: +2 hours
+Cambodia: +7 hours
+Cameroon: +1 hours
+Canada Central: -6 hours (Local summer -5 hours)
+Canada Eastern: -5 hours (Local summer -4 hours)
+Canada Mountain: -7 hours (Local summer -6 hours)
+Canada Yukon & Pacific: -8 hours (Local summer -7 hours)
+Canada Atlantic: -4 hours (Local summer -3 hours)
+Canada Newfoundland: -3.5 hours (Local summer -2.5 hours)
+Canary Islands: 0 hours (Local summer +1 hours)
+Canton Enderbury Islands: -11 hours
+Cape Verde: -1 hours
+Caroline Island: +11 hours
+Cayman Islands: -5 hours
+Central African Rep: +1 hours
+Chad: +1 hours
+Channel Islands: 0 hours (Local summer +1 hours)
+Chatham Island: +12.75 hours (Local summer +13.75 hours)
+Chile: -4 hours (Local summer -3 hours)
+China People's Rep: +8 hours
+Christmas Islands: -10 hours
+Cocos (Keeling) Islands: ( hours (Local summer ) hours)
+Colombia: -5 hours
+Congo: +1 hours
+Cook Islands: -10 hours
+Costa Rica: -6 hours
+Cote d'Ivoire: 0 hours
+Croatia: +1 hours (Local summer +2 hours)
+Cuba: -5 hours (Local summer -4 hours)
+Curacao: -4 hours
+Cyprus: +2 hours (Local summer +3 hours)
+Czech Republic: +1 hours (Local summer +2 hours)
+Dahomey: +1 hours
+Denmark: +1 hours (Local summer +2 hours)
+Djibouti: +3 hours
+Dominica: -4 hours
+Dominican Republic: -4 hours
+Easter Island: -6 hours (Local summer -5 hours)
+Ecuador: -5 hours
+Egypt: +2 hours (Local summer +3 hours)
+El Salvador: -6 hours
+England: 0 hours (Local summer +1 hours)
+Equitorial Guinea: +1 hours
+Eritrea: +3 hours
+Estonia: +2 hours (Local summer +3 hours)
+Ethiopia: +3 hours
+Falkland Islands: -4 hours (Local summer -3 hours)
+Faroe Island: 0 hours (Local summer +1 hours)
+Fiji: +12 hours
+Finland: +2 hours (Local summer +3 hours)
+France: +1 hours (Local summer +2 hours)
+French Guiana: -3 hours
+French Polynesia: -10 hours
+Gabon: +1 hours
+Galapagos Islands: -5 hours
+Gambia: 0 hours
+Gambier Island: -9 hours
+Georgia: +4 hours
+Germany: +1 hours (Local summer +2 hours)
+Ghana: 0 hours
+Gibraltar: +1 hours (Local summer +2 hours)
+Greece: +2 hours (Local summer +3 hours)
+Greenland: -3 hours (Local summer -2 hours)
+Greenland Thule: -4 hours (Local summer -3 hours)
+Greenland Scoresbysun: -1 hours (Local summer 0 hours)
+Grenada: -4 hours
+Grenadines: -4 hours
+Guadeloupe: -4 hours
+Guam: +10 hours
+Guatemala: -6 hours
+Guinea: 0 hours
+Guinea Bissau: - hours (Local summer 0 hours)
+Guyana: -3 hours
+Haiti: -5 hours (Local summer -4 hours)
+Honduras: -6 hours
+Hong kong: +8 hours
+Hungary: +1 hours (Local summer +2 hours)
+Iceland: 0 hours
+India: +5.5 hours
+Indonesia Central: +8 hours
+Indonesia East: +9 hours
+Indonesia West: +7 hours
+Iran: +3.5 hours
+Iraq: +3 hours (Local summer +4 hours)
+Ireland Republic of: 0 hours (Local summer +1 hours)
+Israel: +2 hours (Local summer +3 hours)
+Italy: +1 hours (Local summer +2 hours)
+Jamaica: -5 hours
+Japan: +9 hours
+Johnston Island: -10 hours
+Jordan: +2 hours (Local summer +3 hours)
+Kazakhstan: +6 hours (Local summer +7 hours)
+Kenya: +3 hours
+Kiribati: +12 hours
+Korea Dem Republic of: +9 hours
+Korea Republic of: +9 hours
+Kusaie: +12 hours
+Kuwait: +3 hours
+Kwajalein: -12 hours
+Kyrgyzstan: +5 hours (Local summer +6 hours)
+Laos: +7 hours
+Latvia: +2 hours (Local summer +3 hours)
+Lebanon: +2 hours (Local summer +3 hours)
+Leeward Islands: -4 hours
+Lesotho: +2 hours
+Liberia: 0 hours
+Libya: +2 hours
+Lithuania: +2 hours (Local summer +3 hours)
+Luxembourg: +1 hours (Local summer +2 hours)
+Macedonia: +1 hours (Local summer +2 hours)
+Madagascar: +3 hours
+Madeira: 0 hours (Local summer +1 hours)
+Malawi: +2 hours
+Malaysia: +8 hours
+Maldives: +5 hours
+Mali: 0 hours
+Mallorca Islands: +1 hours (Local summer +2 hours)
+Malta: +1 hours (Local summer +2 hours)
+Mariana Island: +10 hours
+Marquesas Islands: -9.5 hours
+Marshall Islands: +12 hours
+Martinique: -4 hours
+Mauritania: 0 hours
+Mauritius: +4 hours
+Mayotte: +3 hours
+Melilla: +1 hours (Local summer +2 hours)
+Mexico: -6 hours
+Mexico Baja Calif Norte: -8 hours (Local summer -7 hours)
+Mexico Nayarit: -7 hours
+Mexico Sinaloa: -7 hours
+Mexico Sonora: -7 hours
+Midway Island: -11 hours
+Moldova: +2 hours (Local summer +3 hours)
+Moldovian Rep Pridnestrovye: +2 hours (Local summer +3 hours)
+Monaco: +1 hours (Local summer +2 hours)
+Mongolia: +8 hours
+Morocco: 0 hours
+Mozambique: +2 hours
+Myanmar: +6.5 hours
+Namibia: +1 hours (Local summer +2 hours)
+Nauru Republic of: +12 hours
+Nepal: +5.75 hours
+Netherlands: +1 hours (Local summer +2 hours)
+Netherlands Antilles: -4 hours
+Nevis Montserrat: -4 hours
+New Caledonia: +11 hours
+New Hebrides: +11 hours
+New Zealand: +12 hours (Local summer +13 hours)
+Nicaragua: -6 hours (Local summer -5 hours)
+Niger: +1 hours
+Nigeria: +1 hours
+Niue Island: -11 hours
+Norfolk Island: +11.5 hours
+Northern Ireland: 0 hours (Local summer +1 hours)
+Northern Mariana Islands: +10 hours
+Norway: +1 hours (Local summer +2 hours)
+Oman: +4 hours
+Pakistan: +5 hours
+Palau: +9 hours
+Panama: -5 hours
+Papua New Guinea: +10 hours
+Paraguay: -4 hours (Local summer -3 hours)
+Peru: -5 hours
+Philippines: +8 hours
+Pingelap: +12 hours
+Poland: +1 hours (Local summer +2 hours)
+Ponape Island: +11 hours
+Portugal: +1 hours (Local summer +2 hours)
+Principe Island: 0 hours
+Puerto Rico: -4 hours
+Qatar: +3 hours
+Reunion: +4 hours
+Romania: +2 hours (Local summer +3 hours)
+Russian Federation zone eight: +9 hours (Local summer +10 hours)
+Russian Federation zone eleven: +12 hours (Local summer +13 hours)
+Russian Federation zone five: +6 hours (Local summer +7 hours)
+Russian Federation zone four: +5 hours (Local summer +6 hours)
+Russian Federation zone nine: +10 hours (Local summer +11 hours)
+Russian Federation zone one: +2 hours (Local summer +3 hours)
+Russian Federation zone seven: +8 hours (Local summer +9 hours)
+Russian Federation zone six: +7 hours (Local summer +8 hours)
+Russian Federation zone ten: +11 hours (Local summer +12 hours)
+Russian Federation zone three: +4 hours (Local summer +5 hours)
+Russian Federation zone two: +4 hours (Local summer +5 hours)
+Rwanda: +2 hours
+Saba: -4 hours
+Samoa: -11 hours
+San Marino: +1 hours (Local summer +2 hours)
+Sao Tome e Principe: 0 hours
+Saudi Arabia: +3 hours
+Scotland: 0 hours (Local summer +1 hours)
+Senegal: 0 hours
+Seychelles: +4 hours
+Sierra Leone: 0 hours
+Singapore: +8 hours
+Slovakia: +1 hours (Local summer +2 hours)
+Slovenia: +1 hours (Local summer +2 hours)
+Society Island: -10 hours
+Solomon Islands: +11 hours
+Somalia: +3 hours
+South Africa: +2 hours
+Spain: +1 hours (Local summer +2 hours)
+Sri Lanka: +5.5 hours
+St Christopher: -4 hours
+St Croix: -4 hours
+St Helena: 0 hours
+St John: -4 hours
+St Kitts Nevis: -4 hours
+St Lucia: -4 hours
+St Maarten: -4 hours
+St Pierre & Miquelon: -3 hours (Local summer -2 hours)
+St Thomas: -4 hours
+St Vincent: -4 hours
+Sudan: +2 hours
+Suriname: -3 hours
+Swaziland: +2 hours
+Sweden: +1 hours (Local summer +2 hours)
+Switzerland: +1 hours (Local summer +2 hours)
+Syria: +2 hours (Local summer +3 hours)
+Tahiti: -10 hours
+Taiwan: +8 hours
+Tajikistan: +6 hours
+Tanzania: +3 hours
+Thailand: +7 hours
+Togo: 0 hours
+Tonga: +13 hours
+Trinidad and Tobago: -4 hours
+Tuamotu Island: -10 hours
+Tubuai Island: -10 hours
+Tunisia: +1 hours
+Turkey: +2 hours (Local summer +3 hours)
+Turkmenistan: +5 hours
+Turks and Caicos Islands: -5 hours (Local summer -4 hours)
+Tuvalu: +12 hours
+Uganda: +3 hours
+Ukraine: +2 hours (Local summer +3 hours)
+United Arab Emirates: +4 hours
+United Kingdom: 0 hours (Local summer +1 hours)
+USA Central: -6 hours (Local summer -5 hours)
+USA Eastern: -5 hours (Local summer -4 hours)
+USA Mountain: -7 hours (Local summer -6 hours)
+USA Arizona: -7 hours
+USA Indiana East: -5 hours
+USA Pacific: -8 hours (Local summer -7 hours)
+USA Alaska: -9 hours (Local summer -8 hours)
+USA Aleutian: -10 hours
+USA Hawaii: -10 hours
+Uruguay: -3 hours
+Uzbekistan: +5 hours
+Vanuatu: +11 hours (Local summer +12 hours)
+Vatican City: +1 hours (Local summer +2 hours)
+Venezuela: -4 hours
+Vietnam: +7 hours
+Virgin Islands: -4 hours
+Wake Island: +12 hours
+Wales: 0 hours (Local summer +1 hours)
+Wallis and Futuna Islands: +12 hours
+Windward Islands: -4 hours
+Yemen: +3 hours
+Yugoslavia: +1 hours (Local summer +2 hours)
+Zaire Kasai: +2 hours
+Zaire Kinshasa Mbandaka: +1 hours
+Zaire Haut Zaire: +2 hours
+Zaire Kivu: +2 hours
+Zaire Shaba: +2 hours
+Zambia: +2 hours
+Zimbabwe: +2 hours
+All timezone information is non-authoritative...
diff --git a/unused/usno1998 b/unused/usno1998
new file mode 100644
index 000000000000..c3c6991aa61e
--- /dev/null
+++ b/unused/usno1998
@@ -0,0 +1,327 @@
+# @(#)usno1998 8.1
+#
+# From Arthur David Olson (1998-05-26):
+#
+# Here's time zone information from the United States Naval Observatory
+# via http://tycho.usno.navy.mil/tzones.html. See USNO's note at the end.
+Unofficial Time Zone Information
+World Time Zones
+For selected countries, the local standard time offset from UTC is given, with daylight savings time where observed.
+Time: Mon May 25 21:14:24 UTC 1998
+Afghanistan: +4.5 hours
+Albania: +1 hours (Local summer +2 hours)
+Algeria: +1 hours (Local summer +2 hours)
+American Samoa: -11 hours
+Andorra: +1 hours (Local summer +2 hours)
+Angola: +1 hours
+Anguilla: -4 hours
+Antarctica: -2 hours (Local summer -3 hours)
+Antigua: -4 hours
+Argentina: -3 hours
+Argentina western prov: -4 hours
+Armenia: +4 hours (Local summer +5 hours)
+Aruba: -4 hours
+Ascension: 0 hours
+Australia Northern Territory: +9.5 hours
+Australia Lord Howe Island: +10.5 hours (Local summer +11 hours)
+Australia New South Wales: +10 hours (Local summer +11 hours)
+Australia Queensland: +10 hours
+Australia Victoria: +10 hours (Local summer +11 hours)
+Australia Australian Captial Territory: +10 hours (Local summer +11 hours)
+Australia South: +9.5 hours (Local summer +10.5 hours)
+Australia Tasmania: +10 hours (Local summer +11 hours)
+Australia Western: +8 hours
+Austria: +1 hours (Local summer +2 hours)
+Azerbajian: +3 hours
+Azores: -1 hours (Local summer 0 hours)
+Bahamas: -5 hours (Local summer -4 hours)
+Bahrain: +3 hours
+Balearic Islands: +1 hours (Local summer +2 hours)
+Bangladesh: +6 hours
+Barbados: -4 hours
+Belarus: +2 hours (Local summer +3 hours)
+Belgium: +1 hours (Local summer +2 hours)
+Belize: -6 hours
+Benin: +1 hours
+Bermuda: -4 hours (Local summer -3 hours)
+Bhutan: +6 hours
+Bolivia: -4 hours
+Bonaire: -4 hours
+Bosnia Hercegovina: +1 hours (Local summer +2 hours)
+Botswana: +2 hours
+Brazil Acre: -4 hours (Local summer -5 hours)
+Brazil Atlantic Islands: -1 hours (Local summer -2 hours)
+Brazil East: -3 hours (Local summer -1 hours)
+Brazil West: -4 hours (Local summer -3 hours)
+British Virgin Islands: -4 hours
+Brunei: +8 hours
+Bulgaria: +2 hours (Local summer +3 hours)
+Burkina Faso: 0 hours
+Burundi: +2 hours
+Cambodia: +7 hours
+Cameroon: +1 hours
+Canada Central: -6 hours (Local summer -5 hours)
+Canada Eastern: -5 hours (Local summer -4 hours)
+Canada Mountain: -7 hours (Local summer -6 hours)
+Canada Yukon & Pacific: -8 hours (Local summer -7 hours)
+Canada Atlantic: -4 hours (Local summer -3 hours)
+Canada Newfoundland: -3.5 hours (Local summer -2.5 hours)
+Canary Islands: 0 hours (Local summer +1 hours)
+Canton Enderbury Islands: -11 hours
+Cape Verde: -1 hours
+Caroline Island: +11 hours
+Cayman Islands: -5 hours
+Central African Rep: +1 hours
+Chad: +1 hours
+Channel Islands: 0 hours (Local summer +1 hours)
+Chatham Island: +12.75 hours (Local summer +13.75 hours)
+Chile: -4 hours (Local summer -3 hours)
+China People's Rep: +8 hours
+Christmas Islands: -10 hours
+Cocos (Keeling) Islands: ( hours (Local summer ) hours)
+Colombia: -5 hours
+Congo: +1 hours
+Cook Islands: -10 hours
+Costa Rica: -6 hours
+Cote d'Ivoire: 0 hours
+Croatia: +1 hours (Local summer +2 hours)
+Cuba: -5 hours (Local summer -4 hours)
+Curacao: -4 hours
+Cyprus: +2 hours (Local summer +3 hours)
+Czech Republic: +1 hours (Local summer +2 hours)
+Dahomey: +1 hours
+Denmark: +1 hours (Local summer +2 hours)
+Djibouti: +3 hours
+Dominica: -4 hours
+Dominican Republic: -4 hours
+Easter Island: -6 hours (Local summer -5 hours)
+Ecuador: -5 hours
+Egypt: +2 hours (Local summer +3 hours)
+El Salvador: -6 hours
+England: 0 hours (Local summer +1 hours)
+Equitorial Guinea: +1 hours
+Eritrea: +3 hours
+Estonia: +2 hours (Local summer +3 hours)
+Ethiopia: +3 hours
+Falkland Islands: -4 hours (Local summer -3 hours)
+Faroe Island: 0 hours (Local summer +1 hours)
+Fiji: +12 hours
+Finland: +2 hours (Local summer +3 hours)
+France: +1 hours (Local summer +2 hours)
+French Guiana: -3 hours
+French Polynesia: -10 hours
+Gabon: +1 hours
+Galapagos Islands: -5 hours
+Gambia: 0 hours
+Gambier Island: -9 hours
+Georgia: +4 hours
+Germany: +1 hours (Local summer +2 hours)
+Ghana: 0 hours
+Gibraltar: +1 hours (Local summer +2 hours)
+Greece: +2 hours (Local summer +3 hours)
+Greenland: -3 hours (Local summer -2 hours)
+Greenland Thule: -4 hours (Local summer -3 hours)
+Greenland Scoresbysun: -1 hours (Local summer 0 hours)
+Grenada: -4 hours
+Grenadines: -4 hours
+Guadeloupe: -4 hours
+Guam: +10 hours
+Guatemala: -6 hours
+Guinea: 0 hours
+Guinea Bissau: - hours (Local summer 0 hours)
+Guyana: -3 hours
+Haiti: -5 hours (Local summer -4 hours)
+Honduras: -6 hours
+Hong kong: +8 hours
+Hungary: +1 hours (Local summer +2 hours)
+Iceland: 0 hours
+India: +5.5 hours
+Indonesia Central: +8 hours
+Indonesia East: +9 hours
+Indonesia West: +7 hours
+Iran: +3.5 hours
+Iraq: +3 hours (Local summer +4 hours)
+Ireland Republic of: 0 hours (Local summer +1 hours)
+Israel: +2 hours (Local summer +3 hours)
+Italy: +1 hours (Local summer +2 hours)
+Jamaica: -5 hours
+Japan: +9 hours
+Johnston Island: -10 hours
+Jordan: +2 hours (Local summer +3 hours)
+Kazakhstan: +6 hours (Local summer +7 hours)
+Kenya: +3 hours
+Kiribati: +12 hours
+Korea Dem Republic of: +9 hours
+Korea Republic of: +9 hours
+Kusaie: +12 hours
+Kuwait: +3 hours
+Kwajalein: -12 hours
+Kyrgyzstan: +5 hours (Local summer +6 hours)
+Laos: +7 hours
+Latvia: +2 hours (Local summer +3 hours)
+Lebanon: +2 hours (Local summer +3 hours)
+Leeward Islands: -4 hours
+Lesotho: +2 hours
+Liberia: 0 hours
+Libya: +2 hours
+Lithuania: +2 hours (Local summer +3 hours)
+Luxembourg: +1 hours (Local summer +2 hours)
+Macedonia: +1 hours (Local summer +2 hours)
+Madagascar: +3 hours
+Madeira: 0 hours (Local summer +1 hours)
+Malawi: +2 hours
+Malaysia: +8 hours
+Maldives: +5 hours
+Mali: 0 hours
+Mallorca Islands: +1 hours (Local summer +2 hours)
+Malta: +1 hours (Local summer +2 hours)
+Mariana Island: +10 hours
+Marquesas Islands: -9.5 hours
+Marshall Islands: +12 hours
+Martinique: -4 hours
+Mauritania: 0 hours
+Mauritius: +4 hours
+Mayotte: +3 hours
+Melilla: +1 hours (Local summer +2 hours)
+Mexico: -6 hours
+Mexico Baja Calif Norte: -8 hours (Local summer -7 hours)
+Mexico Nayarit: -7 hours
+Mexico Sinaloa: -7 hours
+Mexico Sonora: -7 hours
+Midway Island: -11 hours
+Moldova: +2 hours (Local summer +3 hours)
+Moldovian Rep Pridnestrovye: +2 hours (Local summer +3 hours)
+Monaco: +1 hours (Local summer +2 hours)
+Mongolia: +8 hours
+Morocco: 0 hours
+Mozambique: +2 hours
+Myanmar: +6.5 hours
+Namibia: +1 hours (Local summer +2 hours)
+Nauru Republic of: +12 hours
+Nepal: +5.75 hours
+Netherlands: +1 hours (Local summer +2 hours)
+Netherlands Antilles: -4 hours
+Nevis Montserrat: -4 hours
+New Caledonia: +11 hours
+New Hebrides: +11 hours
+New Zealand: +12 hours (Local summer +13 hours)
+Nicaragua: -6 hours (Local summer -5 hours)
+Niger: +1 hours
+Nigeria: +1 hours
+Niue Island: -11 hours
+Norfolk Island: +11.5 hours
+Northern Ireland: 0 hours (Local summer +1 hours)
+Northern Mariana Islands: +10 hours
+Norway: +1 hours (Local summer +2 hours)
+Oman: +4 hours
+Pakistan: +5 hours
+Palau: +9 hours
+Panama: -5 hours
+Papua New Guinea: +10 hours
+Paraguay: -4 hours (Local summer -3 hours)
+Peru: -5 hours
+Philippines: +8 hours
+Pingelap: +12 hours
+Poland: +1 hours (Local summer +2 hours)
+Ponape Island: +11 hours
+Portugal: +1 hours (Local summer +2 hours)
+Principe Island: 0 hours
+Puerto Rico: -4 hours
+Qatar: +3 hours
+Reunion: +4 hours
+Romania: +2 hours (Local summer +3 hours)
+Russian Federation zone eight: +9 hours (Local summer +10 hours)
+Russian Federation zone eleven: +12 hours (Local summer +13 hours)
+Russian Federation zone five: +6 hours (Local summer +7 hours)
+Russian Federation zone four: +5 hours (Local summer +6 hours)
+Russian Federation zone nine: +10 hours (Local summer +11 hours)
+Russian Federation zone one: +2 hours (Local summer +3 hours)
+Russian Federation zone seven: +8 hours (Local summer +9 hours)
+Russian Federation zone six: +7 hours (Local summer +8 hours)
+Russian Federation zone ten: +11 hours (Local summer +12 hours)
+Russian Federation zone three: +4 hours (Local summer +5 hours)
+Russian Federation zone two: +4 hours (Local summer +5 hours)
+Rwanda: +2 hours
+Saba: -4 hours
+Samoa: -11 hours
+San Marino: +1 hours (Local summer +2 hours)
+Sao Tome e Principe: 0 hours
+Saudi Arabia: +3 hours
+Scotland: 0 hours (Local summer +1 hours)
+Senegal: 0 hours
+Seychelles: +4 hours
+Sierra Leone: 0 hours
+Singapore: +8 hours
+Slovakia: +1 hours (Local summer +2 hours)
+Slovenia: +1 hours (Local summer +2 hours)
+Society Island: -10 hours
+Solomon Islands: +11 hours
+Somalia: +3 hours
+South Africa: +2 hours
+Spain: +1 hours (Local summer +2 hours)
+Sri Lanka: +5.5 hours
+St Christopher: -4 hours
+St Croix: -4 hours
+St Helena: 0 hours
+St John: -4 hours
+St Kitts Nevis: -4 hours
+St Lucia: -4 hours
+St Maarten: -4 hours
+St Pierre & Miquelon: -3 hours (Local summer -2 hours)
+St Thomas: -4 hours
+St Vincent: -4 hours
+Sudan: +2 hours
+Suriname: -3 hours
+Swaziland: +2 hours
+Sweden: +1 hours (Local summer +2 hours)
+Switzerland: +1 hours (Local summer +2 hours)
+Syria: +2 hours (Local summer +3 hours)
+Tahiti: -10 hours
+Taiwan: +8 hours
+Tajikistan: +6 hours
+Tanzania: +3 hours
+Thailand: +7 hours
+Togo: 0 hours
+Tonga: +13 hours
+Trinidad and Tobago: -4 hours
+Tuamotu Island: -10 hours
+Tubuai Island: -10 hours
+Tunisia: +1 hours
+Turkey: +2 hours (Local summer +3 hours)
+Turkmenistan: +5 hours
+Turks and Caicos Islands: -5 hours (Local summer -4 hours)
+Tuvalu: +12 hours
+Uganda: +3 hours
+Ukraine: +2 hours (Local summer +3 hours)
+United Arab Emirates: +4 hours
+United Kingdom: 0 hours (Local summer +1 hours)
+USA Central: -6 hours (Local summer -5 hours)
+USA Eastern: -5 hours (Local summer -4 hours)
+USA Mountain: -7 hours (Local summer -6 hours)
+USA Arizona: -7 hours
+USA Indiana East: -5 hours
+USA Pacific: -8 hours (Local summer -7 hours)
+USA Alaska: -9 hours (Local summer -8 hours)
+USA Aleutian: -10 hours
+USA Hawaii: -10 hours
+Uruguay: -3 hours
+Uzbekistan: +5 hours
+Vanuatu: +11 hours (Local summer +12 hours)
+Vatican City: +1 hours (Local summer +2 hours)
+Venezuela: -4 hours
+Vietnam: +7 hours
+Virgin Islands: -4 hours
+Wake Island: +12 hours
+Wales: 0 hours (Local summer +1 hours)
+Wallis and Futuna Islands: +12 hours
+Windward Islands: -4 hours
+Yemen: +3 hours
+Yugoslavia: +1 hours (Local summer +2 hours)
+Zaire Kasai: +2 hours
+Zaire Kinshasa Mbandaka: +1 hours
+Zaire Haut Zaire: +2 hours
+Zaire Kivu: +2 hours
+Zaire Shaba: +2 hours
+Zambia: +2 hours
+Zimbabwe: +2 hours
+All timezone information is non-authoritative...
diff --git a/unused/workman.sh b/unused/workman.sh
new file mode 100644
index 000000000000..cdf5b7311a8b
--- /dev/null
+++ b/unused/workman.sh
@@ -0,0 +1,29 @@
+#! /bin/sh
+
+# @(#)workman.sh 8.1
+
+# Tell groff not to emit SGR escape sequences (ANSI color escapes).
+GROFF_NO_SGR=1
+export GROFF_NO_SGR
+
+echo ".am TH
+.hy 0
+.na
+..
+.rm }H
+.rm }F" | nroff -man - ${1+"$@"} | perl -ne '
+ chomp;
+ s/.\010//g;
+ s/\s*$//;
+ if (/^$/) {
+ $sawblank = 1;
+ next;
+ } else {
+ if ($sawblank && $didprint) {
+ print "\n";
+ $sawblank = 0;
+ }
+ print "$_\n";
+ $didprint = 1;
+ }
+'
diff --git a/unused/zdump.8.txt b/unused/zdump.8.txt
new file mode 100644
index 000000000000..78c647f7636b
--- /dev/null
+++ b/unused/zdump.8.txt
@@ -0,0 +1,43 @@
+NAME
+
+ zdump - time zone dumper
+
+SYNOPSIS
+ zdump [ --version ] [ -v ] [ -c [loyear,]hiyear ] [ zonename
+ ... ]
+
+DESCRIPTION
+ Zdump prints the current time in each zonename named on the
+ command line.
+
+ These options are available:
+
+ --version
+ Output version information and exit.
+
+ -v For each zonename on the command line, print the time
+ at the lowest possible time value, the time one day
+ after the lowest possible time value, the times both
+ one second before and exactly at each detected time
+ discontinuity, the time at one day less than the
+ highest possible time value, and the time at the
+ highest possible time value, Each line ends with
+ isdst=1 if the given time is Daylight Saving Time or
+ isdst=0 otherwise.
+
+ -c [loyear,]hiyear
+ Cut off verbose output near the start of the given
+ year(s). By default, the program cuts off verbose
+ output near the starts of the years -500 and 2500.
+
+LIMITATIONS
+ The -v option may not be used on systems with floating-point
+ time_t values that are neither float nor double.
+
+ Time discontinuities are found by sampling the results
+ returned by localtime at twelve-hour intervals. This works
+ in all real-world cases; one can construct artificial time
+ zones for which this fails.
+
+SEE ALSO
+ newctime(3), tzfile(5), zic(8)
diff --git a/unused/zic.8.txt b/unused/zic.8.txt
new file mode 100644
index 000000000000..3607ca768b10
--- /dev/null
+++ b/unused/zic.8.txt
@@ -0,0 +1,308 @@
+NAME
+
+ zic - time zone compiler
+
+SYNOPSIS
+ zic [ --version ] [ -v ] [ -d directory ] [ -l localtime ] [
+ -p posixrules ] [ -L leapsecondfilename ] [ -s ] [ -y
+ command ] [ filename ... ]
+
+DESCRIPTION
+ Zic reads text from the file(s) named on the command line
+ and creates the time conversion information files specified
+ in this input. If a filename is -, the standard input is
+ read.
+
+ These options are available:
+
+ --version
+ Output version information and exit.
+
+ -d directory
+ Create time conversion information files in the named
+ directory rather than in the standard directory named
+ below.
+
+ -l timezone
+ Use the given time zone as local time. Zic will act as
+ if the input contained a link line of the form
+
+ Link timezone localtime
+
+ -p timezone
+ Use the given time zone's rules when handling POSIX-
+ format time zone environment variables. Zic will act
+ as if the input contained a link line of the form
+
+ Link timezone posixrules
+
+ -L leapsecondfilename
+ Read leap second information from the file with the
+ given name. If this option is not used, no leap second
+ information appears in output files.
+
+ -v Complain if a year that appears in a data file is
+ outside the range of years representable by time(2)
+ values. Also complain if a time of 24:00 (which cannot
+ be handled by pre-1998 versions of zic) appears in the
+ input.
+
+ -s Limit time values stored in output files to values that
+ are the same whether they're taken to be signed or
+ unsigned. You can use this option to generate SVVS-
+ compatible files.
+
+ -y command
+ Use the given command rather than yearistype when
+ checking year types (see below).
+
+ Input lines are made up of fields. Fields are separated
+ from one another by any number of white space characters.
+ Leading and trailing white space on input lines is ignored.
+ An unquoted sharp character (#) in the input introduces a
+ comment which extends to the end of the line the sharp
+ character appears on. White space characters and sharp
+ characters may be enclosed in double quotes (") if they're
+ to be used as part of a field. Any line that is blank
+ (after comment stripping) is ignored. Non-blank lines are
+ expected to be of one of three types: rule lines, zone
+ lines, and link lines.
+
+ A rule line has the form
+
+ Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
+
+ For example:
+
+ Rule US 1967 1973 - Apr lastSun 2:00 1:00 D
+
+ The fields that make up a rule line are:
+
+ NAME Gives the (arbitrary) name of the set of rules this
+ rule is part of.
+
+ FROM Gives the first year in which the rule applies. Any
+ integer year can be supplied; the Gregorian calendar
+ is assumed. The word minimum (or an abbreviation)
+ means the minimum year representable as an integer.
+ The word maximum (or an abbreviation) means the
+ maximum year representable as an integer. Rules can
+ describe times that are not representable as time
+ values, with the unrepresentable times ignored; this
+ allows rules to be portable among hosts with
+ differing time value types.
+
+ TO Gives the final year in which the rule applies. In
+ addition to minimum and maximum (as above), the word
+ only (or an abbreviation) may be used to repeat the
+ value of the FROM field.
+
+ TYPE Gives the type of year in which the rule applies.
+ If TYPE is - then the rule applies in all years
+ between FROM and TO inclusive. If TYPE is something
+ else, then zic executes the command
+ yearistype year type
+ to check the type of a year: an exit status of zero
+ is taken to mean that the year is of the given type;
+ an exit status of one is taken to mean that the year
+ is not of the given type.
+
+ IN Names the month in which the rule takes effect.
+ Month names may be abbreviated.
+
+ ON Gives the day on which the rule takes effect.
+ Recognized forms include:
+
+ 5 the fifth of the month
+ lastSun the last Sunday in the month
+ lastMon the last Monday in the month
+ Sun>=8 first Sunday on or after the eighth
+ Sun<=25 last Sunday on or before the 25th
+
+ Names of days of the week may be abbreviated or
+ spelled out in full. Note that there must be no
+ spaces within the ON field.
+ AT Gives the time of day at which the rule takes
+ effect. Recognized forms include:
+
+ 2 time in hours
+ 2:00 time in hours and minutes
+ 15:00 24-hour format time (for times after noon)
+ 1:28:14 time in hours, minutes, and seconds
+ - equivalent to 0
+
+ where hour 0 is midnight at the start of the day,
+ and hour 24 is midnight at the end of the day. Any
+ of these forms may be followed by the letter w if
+ the given time is local "wall clock" time, s if the
+ given time is local "standard" time, or u (or g or
+ z) if the given time is universal time; in the
+ absence of an indicator, wall clock time is assumed.
+
+ SAVE Gives the amount of time to be added to local
+ standard time when the rule is in effect. This
+ field has the same format as the AT field (although,
+ of course, the w and s suffixes are not used).
+
+ LETTER/S
+ Gives the "variable part" (for example, the "S" or
+ "D" in "EST" or "EDT") of time zone abbreviations to
+ be used when this rule is in effect. If this field
+ is -, the variable part is null.
+
+ A zone line has the form
+
+ Zone NAME GMTOFF RULES/SAVE FORMAT [UNTILYEAR [MONTH [DAY [TIME]]]]
+
+ For example:
+
+ Zone Australia/Adelaide 9:30 Aus CST 1971 Oct 31 2:00
+
+ The fields that make up a zone line are:
+
+ NAME The name of the time zone. This is the name used in
+ creating the time conversion information file for the
+ zone.
+
+ GMTOFF
+ The amount of time to add to UTC to get standard time
+ in this zone. This field has the same format as the
+ AT and SAVE fields of rule lines; begin the field with
+ a minus sign if time must be subtracted from UTC.
+
+ RULES/SAVE
+ The name of the rule(s) that apply in the time zone
+ or, alternately, an amount of time to add to local
+ standard time. If this field is - then standard time
+ always applies in the time zone.
+
+ FORMAT
+ The format for time zone abbreviations in this time
+ zone. The pair of characters %s is used to show where
+ the "variable part" of the time zone abbreviation
+ goes. Alternately, a slash (/) separates standard and
+ daylight abbreviations.
+
+ UNTILYEAR [MONTH [DAY [TIME]]]
+ The time at which the UTC offset or the rule(s) change
+ for a location. It is specified as a year, a month, a
+ day, and a time of day. If this is specified, the
+ time zone information is generated from the given UTC
+ offset and rule change until the time specified. The
+ month, day, and time of day have the same format as
+ the IN, ON, and AT fields of a rule; trailing fields
+ can be omitted, and default to the earliest possible
+ value for the missing fields.
+
+ The next line must be a "continuation" line; this has
+ the same form as a zone line except that the string
+ "Zone" and the name are omitted, as the continuation
+ line will place information starting at the time
+ specified as the "until" information in the previous
+ line in the file used by the previous line.
+ Continuation lines may contain "until" information,
+ just as zone lines do, indicating that the next line
+ is a further continuation.
+
+ A link line has the form
+
+ Link LINK-FROM LINK-TO
+
+ For example:
+
+ Link Europe/Istanbul Asia/Istanbul
+
+ The LINK-FROM field should appear as the NAME field in some
+ zone line; the LINK-TO field is used as an alternate name
+ for that zone.
+
+ Except for continuation lines, lines may appear in any order
+ in the input.
+
+ Lines in the file that describes leap seconds have the
+ following form:
+
+ Leap YEAR MONTH DAY HH:MM:SS CORR R/S
+
+ For example:
+
+ Leap 1974 Dec 31 23:59:60 + S
+
+ The YEAR, MONTH, DAY, and HH:MM:SS fields tell when the leap
+ second happened. The CORR field should be "+" if a second
+ was added or "-" if a second was skipped. The R/S field
+ should be (an abbreviation of) "Stationary" if the leap
+ second time given by the other fields should be interpreted
+ as UTC or (an abbreviation of) "Rolling" if the leap second
+ time given by the other fields should be interpreted as
+ local wall clock time.
+
+EXTENDED EXAMPLE
+ Here is an extended example of zic input, intended to
+ illustrate many of its features.
+
+ # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
+ Rule Swiss 1940 only - Nov 2 0:00 1:00 S
+ Rule Swiss 1940 only - Dec 31 0:00 0 -
+ Rule Swiss 1941 1942 - May Sun>=1 2:00 1:00 S
+ Rule Swiss 1941 1942 - Oct Sun>=1 0:00 0
+ Rule EU 1977 1980 - Apr Sun>=1 1:00u 1:00 S
+ Rule EU 1977 only - Sep lastSun 1:00u 0 -
+ Rule EU 1978 only - Oct 1 1:00u 0 -
+ Rule EU 1979 1995 - Sep lastSun 1:00u 0 -
+ Rule EU 1981 max - Mar lastSun 1:00u 1:00 S
+ Rule EU 1996 max - Oct lastSun 1:00u 0 -
+
+ # Zone NAME GMTOFF RULES FORMAT UNTIL
+ Zone Europe/Zurich 0:34:08 - LMT 1848 Sep 12
+ 0:29:44 - BMT 1894 Jun
+ 1:00 Swiss CE%sT 1981
+ 1:00 EU CE%sT
+
+ Link Europe/Zurich Switzerland
+
+ In this example, the zone is named Europe/Zurich but it has
+ an alias as Switzerland. Zurich was 34 minutes and 8
+ seconds west of GMT until 1848-09-12 at 00:00, when the
+ offset changed to 29 minutes and 44 seconds. After
+ 1894-06-01 at 00:00 Swiss daylight saving rules (defined
+ with lines beginning with "Rule Swiss") apply, and the GMT
+ offset became one hour. From 1981 to the present, EU
+ daylight saving rules have applied, and the UTC offset has
+ remained at one hour.
+
+ In 1940, daylight saving time applied from November 2 at
+ 00:00 to December 31 at 00:00. In 1941 and 1942, daylight
+ saving time applied from the first Sunday in May at 02:00 to
+ the first Sunday in October at 00:00. The pre-1981 EU
+ daylight-saving rules have no effect here, but are included
+ for completeness. Since 1981, daylight saving has begun on
+ the last Sunday in March at 01:00 UTC. Until 1995 it ended
+ the last Sunday in September at 01:00 UTC, but this changed
+ to the last Sunday in October starting in 1996.
+
+ For purposes of display, "LMT" and "BMT" were initially
+ used, respectively. Since Swiss rules and later EU rules
+ were applied, the display name for the timezone has been CET
+ for standard time and CEST for daylight saving time.
+
+NOTES
+ For areas with more than two types of local time, you may
+ need to use local standard time in the AT field of the
+ earliest transition time's rule to ensure that the earliest
+ transition time recorded in the compiled file is correct.
+
+ If, for a particular zone, a clock advance caused by the
+ start of daylight saving coincides with and is equal to a
+ clock retreat caused by a change in UTC offset, zic produces
+ a single transition to daylight saving at the new UTC offset
+ (without any change in wall clock time). To get separate
+ transitions use multiple zone continuation lines specifying
+ transition instants using universal time.
+
+FILE
+ /usr/local/etc/zoneinfo standard directory used for
+ created files
+
+SEE ALSO
+ newctime(3), tzfile(5), zdump(8)
diff --git a/unused/zoneinfo2tdf.pl b/unused/zoneinfo2tdf.pl
new file mode 100755
index 000000000000..f34ca3e99c31
--- /dev/null
+++ b/unused/zoneinfo2tdf.pl
@@ -0,0 +1,54 @@
+#! /usr/bin/perl -w
+
+# @(#)zoneinfo2tdf.pl 8.2
+
+# Courtesy Ken Pizzini.
+
+use strict;
+
+#This file released to the public domain.
+
+#Note: error checking is poor --- only trust the output if the input
+#has been checked by zic.
+
+my $contZone = '';
+while (<>) {
+ my $origline = $_;
+ my @fields = ();
+ while (s/^\s*((?:"[^"]*"|[^\s#])+)//) {
+ push @fields, $1;
+ }
+ next unless @fields;
+
+ my $type = lc($fields[0]);
+ if ($contZone) {
+ @fields >= 3 or warn "bad continuation line";
+ unshift @fields, '+', $contZone;
+ $type = 'zone';
+ }
+
+ $contZone = '';
+ if ($type eq 'zone') {
+ # Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
+ my $nfields = @fields;
+ $nfields >= 5 or warn "bad zone line";
+ if ($nfields > 6) {
+ #this splice is optional, depending on one's preference
+ #(one big date-time field, or componentized date and time):
+ splice(@fields, 5, $nfields-5, "@fields[5..$nfields-1]");
+ }
+ $contZone = $fields[1] if @fields > 5;
+ } elsif ($type eq 'rule') {
+ # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
+ @fields == 10 or warn "bad rule line";
+ } elsif ($type eq 'link') {
+ # Link LINK-FROM LINK-TO
+ @fields == 3 or warn "bad link line";
+ } elsif ($type eq 'leap') {
+ # Leap YEAR MONTH DAY HH:MM:SS CORR R/S
+ @fields == 7 or warn "bad leap line";
+ } else {
+ warn "Fubar at input line $.: $origline";
+ }
+ print join("\t", @fields), "\n";
+}