ialloc.c06-Nov-20121.4 KiB

private.h06-Nov-20126.4 KiB

README06-Nov-20123.7 KiB

scheck.c06-Nov-20121.3 KiB

Theory06-Nov-201223.6 KiB


zdump.806-Nov-20121.5 KiB

zdump.c09-Oct-201615.2 KiB


zic.806-Nov-201212.8 KiB

zic.c09-Oct-201662.9 KiB


1@(#)README	8.3
2This file is in the public domain, so clarified as of
32009-05-17 by Arthur David Olson.
7"What time is it?" -- Richard Deacon as The King
8"Any time you want it to be." -- Frank Baxter as The Scientist
9					(from the Bell System film "About Time")
11The 1989 update of the time zone package featured
13*	POSIXization (including interpretation of POSIX-style TZ environment
14	variables, provided by Guy Harris),
15*	ANSIfication (including versions of "mktime" and "difftime"),
16*	SVIDulation (an "altzone" variable)
17*	MACHination (the "gtime" function)
18*	corrections to some time zone data (including corrections to the rules
19	for Great Britain and New Zealand)
20*	reference data from the United States Naval Observatory for folks who
21	want to do additional time zones
22*	and the 1989 data for Saudi Arabia.
24(Since this code will be treated as "part of the implementation" in some places
25and as "part of the application" in others, there's no good way to name
26functions, such as timegm, that are not part of the proposed ANSI C standard;
27such functions have kept their old, underscore-free names in this update.)
29And the "dysize" function has disappeared; it was present to allow compilation
30of the "date" command on old BSD systems, and a version of "date" is now
31provided in the package.  The "date" command is not created when you "make all"
32since it may lack options provided by the version distributed with your
33operating system, or may not interact with the system in the same way the
34native version does.
36Since POSIX frowns on correct leap second handling, the default behavior of
37the "zic" command (in the absence of a "-L" option) has been changed to omit
38leap second information from its output files.
40Here is a recipe for acquiring, building, installing, and testing the
41tz distribution on a GNU/Linux or similar host.
43	mkdir tz
44	cd tz
45	wget '*.tar.gz'
46	gzip -dc tzcode*.tar.gz | tar -xf -
47	gzip -dc tzdata*.tar.gz | tar -xf -
49Be sure to read the comments in "Makefile" and make any changes needed
50to make things right for your system, especially if you are using some
51platform other than GNU/Linux.  Then run the following commands,
52substituting your desired installation directory for "$HOME/tzdir":
54	make TOPDIR=$HOME/tzdir install
55	$HOME/tzdir/etc/zdump -v America/Los_Angeles
57To use the new functions, use a "-ltz" option when compiling or linking.
59Historical local time information has been included here to:
61*	provide a compendium of data about the history of civil time
62	that is useful even if the data are not 100% accurate;
64*	give an idea of the variety of local time rules that have
65	existed in the past and thus an idea of the variety that may be
66	expected in the future;
68*	provide a test of the generality of the local time rule description
69	system.
71The information in the time zone data files is by no means authoritative;
72the files currently do not even attempt to cover all time stamps before
731970, and there are undoubtedly errors even for time stamps since 1970.
74If you know that the rules are different from those in a file, by all means
75feel free to change file (and please send the changed version to for use in the future).  Europeans take note!
78Thanks to these Timezone Caballeros who've made major contributions to the
79time conversion package:  Keith Bostic; Bob Devine; Paul Eggert; Robert Elz;
80Guy Harris; Mark Horton; John Mackin; and Bradley White.  Thanks also to
81Michael Bloom, Art Neilson, Stephen Prince, John Sovereign, and Frank Wales
82for testing work, and to Gwillim Law for checking local mean time data.
83None of them are responsible for remaining errors.
85Look in the ~ftp/pub directory of
86for updated versions of these files.
88Please send comments or information to