diff options
Diffstat (limited to 'unused')
| -rw-r--r-- | unused/Makefile | 418 | ||||
| -rw-r--r-- | unused/checktab.awk | 159 | ||||
| -rw-r--r-- | unused/date.1 | 175 | ||||
| -rw-r--r-- | unused/date.1.txt | 127 | ||||
| -rw-r--r-- | unused/date.c | 945 | ||||
| -rw-r--r-- | unused/itca.jpg | bin | 0 -> 55948 bytes | |||
| -rw-r--r-- | unused/newctime.3 | 239 | ||||
| -rw-r--r-- | unused/newctime.3.txt | 149 | ||||
| -rw-r--r-- | unused/newstrftime.3 | 230 | ||||
| -rw-r--r-- | unused/newstrftime.3.txt | 149 | ||||
| -rw-r--r-- | unused/newtzset.3 | 237 | ||||
| -rw-r--r-- | unused/newtzset.3.txt | 153 | ||||
| -rw-r--r-- | unused/time2posix.3.txt | 83 | ||||
| -rw-r--r-- | unused/tz-art.htm | 402 | ||||
| -rw-r--r-- | unused/tz-link.htm | 648 | ||||
| -rw-r--r-- | unused/tzfile.5.txt | 106 | ||||
| -rw-r--r-- | unused/tzselect.8 | 41 | ||||
| -rw-r--r-- | unused/tzselect.8.txt | 41 | ||||
| -rw-r--r-- | unused/tzselect.ksh | 323 | ||||
| -rw-r--r-- | unused/usno1988 | 111 | ||||
| -rw-r--r-- | unused/usno1989 | 452 | ||||
| -rw-r--r-- | unused/usno1989a | 452 | ||||
| -rw-r--r-- | unused/usno1995 | 326 | ||||
| -rw-r--r-- | unused/usno1997 | 327 | ||||
| -rw-r--r-- | unused/usno1998 | 327 | ||||
| -rw-r--r-- | unused/workman.sh | 29 | ||||
| -rw-r--r-- | unused/zdump.8.txt | 43 | ||||
| -rw-r--r-- | unused/zic.8.txt | 308 | ||||
| -rwxr-xr-x | unused/zoneinfo2tdf.pl | 54 |
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 Binary files differnew file mode 100644 index 000000000000..89a7119c0ccc --- /dev/null +++ b/unused/itca.jpg 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&sql=A1fdovw9ta92k">AMG Rating</a></td><td>4 stars</td></tr> +<tr><td>Penguin Rating</td><td>3.5 stars</td></tr> +<tr><td> </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&sql=Akikbikzjbb19">AMG Rating</a></td><td>3 stars</td></tr> +<tr><td>Penguin Rating</td><td>3 stars</td></tr> +<tr><td> </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&sql=Amyyvad6kt8w1">AMG Rating</a></td><td>2 stars</td></tr> +<tr><td>Penguin Rating</td><td>3 stars</td></tr> +<tr><td> </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&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&sql=A3a9ds37ya3dg">AMG Rating</a></td><td>3 stars</td></tr> +<tr><td>Penguin Rating</td><td>unrated</td></tr> +<tr><td> </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&sql=A1cbyxdab8ola">AMG Rating</a></td><td>4.5 stars</td></tr> +<tr><td>Penguin Rating</td><td>3 stars</td></tr> +<tr><td> </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&sql=Asl8zefuk8gfo">AMG Rating</a></td><td>4 stars</td></tr> +<tr><td>Penguin Rating</td><td>3.5 stars</td></tr> +<tr><td> </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&sql=A5bkvu3xjan1k">AMG Rating</a></td><td>unrated</td></tr> +<tr><td> </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&sql=10:13rc28vw054a">AMG Rating</a></td><td>4.5 stars</td></tr> +<tr><td> </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&sql=10:7ddovwvla9xk">AMG Rating</a></td><td>2.5 stars</td></tr> +<tr><td> </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> </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> </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> </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> </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> </td></tr> + +<tr><td>TV episode title</td><td>Time Tunnel</td> +<tr><td>TV series</td><td><em>The Adventures of Pete & 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> </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> </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> </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> </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> </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&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> </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—like so many myths, such as that +there's a reason for 'Daylight Saving Time'—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 +→ 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ñ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° apart, except that +UTC−12 and UTC+12 are each 7.5° wide and are separated by +the 180° 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 & 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 & 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) §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 & 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 > Time</a></li> +<li><a href="http://dir.yahoo.com/Science/Measurements_and_Units/Time">Yahoo! +Directory > Science > Measurements and Units > 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"; +} |
