Sources for Time Zone and Daylight Saving Time Data
This file is in the public domain, so clarified as of
2009-05-17 by Arthur David Olson.
Please send corrections to this web page to the
time zone mailing list.
The tz
database
The public-domain
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 time zone
boundaries, UTC offsets, and
daylight-saving
rules.
This database (often called zoneinfo
or tz
)
is used by several implementations,
including
the
GNU
C Library used in
GNU/Linux,
FreeBSD,
NetBSD,
OpenBSD,
Cygwin,
DJGPP,
AIX,
Mac OS X,
OpenVMS,
Oracle Database,
Solaris,
Tru64, and
UnixWare.
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, America/New_York
represents most of the US eastern time zone;
America/Phoenix
represents most of Arizona, which
uses mountain time without daylight saving time (DST);
America/Detroit
represents most of Michigan, which uses
eastern time but with different DST 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 POSIX
implementation set the TZ
environment variable to
the location's full name, e.g., TZ="America/New_York"
.
In the tz
database's
FTP releases
the code is in the file tzcodeC.tar.gz
,
where C
is the code's version;
similarly, the data are in tzdataD.tar.gz
,
where D
is the data's version.
Each version is a four-digit year followed by lower-case letters
(a through z, then za through zz, then zza through zzz, and so on).
Convenience links to
the latest
code and
latest data revisions
are also available.
The following shell commands download
these files to a GNU/Linux or similar host;
see the downloaded
README
file for what to do next.
mkdir tz
cd tz
wget --retr-symlinks 'ftp://ftp.iana.org/tz/tz*-latest.tar.gz'
gzip -dc tzcode-latest.tar.gz | tar -xf -
gzip -dc tzdata-latest.tar.gz | tar -xf -
The code and data files can also be obtained from the
IANA
timezone web page.
The code lets you compile the tz
source files into
machine-readable binary files, one for each location. It also lets
you read a tz
binary file and interpret time stamps for that
location.
The data are by no means authoritative. If you find errors, please
send changes to the time zone
mailing list. You can also browse recent
messages sent to the mailing list, subscribe to it.
browse the archive of old
messages (message by message or in gzip compressed format),
or retrieve archived older versions of code
and data.
The Web has several other sources for time zone and daylight saving time data.
Here are some recent links that may be of interest.
Web pages using recent versions of the tz
database
These are listed roughly in ascending order of complexity and fanciness.
Other time zone database formats
Other tz
compilers
Other tz
binary file readers
- The GNU C
Library
has an independent, thread-safe implementation of
a
tz
binary file reader.
This library is freely available under the
GNU Lesser General Public License
(LGPL),
and is widely used in GNU/Linux systems.
- ZoneInfo.java
is a
tz
binary file reader written in Java.
It is freely available under the LGPL.
- Tcl, mentioned above, also contains a
tz
binary file reader.
-
DateTime::TimeZone::Tzfile
is a
tz
binary file reader written in Perl.
It is freely available under the same terms as Perl
(dual GPL and Artistic license).
Other tz
-based time zone software
- FoxClocks
is an extension for Mozilla
Toolkit applications like Firefox, Thunderbird, and
Sunbird.
It displays multiple clocks in the application window, and has a mapping
interface to Google Earth.
It is freely available under the GPL.
- International
clock (intclock) is a multi-timezone clock for
GNU/Linux and similar systems. It is freely available
under the GPL.
- PublicDomain
has a copy of a recent
tz
database, accessed via a C# 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.
- Sun Java releases since 1.4
contain a copy of a subset of a recent
tz
database in a
Java-specific format.
- Time Zone is
a WordPress plugin. It is freely
available under a BSD-style license.
- VelaTerra is
a Mac OS X program. Its developers
offer free
licenses to
tz
contributors.
- World Time Explorer is a
Microsoft Windows program.
-
WorldClock for Windows and Windows Mobile
lets users "see the time in up to 25 locations in the world at once."
(From Hans Nieuwenhuis, 2009-11-02.)
-
Time Zone Master Basic
"allows people to display multiple desktop clocks, and to
research current and historical time information, as well as times of
astronomical events (sunrise/transit/set, moonrise/transit/set, phases,
season starts) for user-selected dates in the past and future. It can
automatically download, compile and use the tzdata**.gz database files
as they are released to keep the data up to date. The software is
free." (Davie Patte)
Other time zone databases
- Atlas Query
is Astrodienst's Web version of Shanks's
excellent time zone history atlases published in both computer
and book form (one volume
for the USA, and one for
other locations) by Astro Communications Services.
- WORLDTIME: interactive atlas,
time info, public holidays
contains information on local time, sunrise and sunset,
and public holidays in several hundred cities around the world.
- World Time Server
is another time zone database.
- World Time Zones
contains data from the Time Service Department of the
US Naval Observatory, used as the source
for the
usno*
files in the tz
distribution.
- The Standard
Schedules Information Manual of the
International Air Transport
Association
gives current time zone rules for airports served by commercial aviation.
- Some Microsoft Windows versions contain time zone information in
an undocumented format, with IDs that can be mapped to
TZ
values using the Windows
→ Tzid table maintained by the CLDR data mentioned
below.
-
http://code.google.com/p/tzdata/
provides programming-language-specific representations of timezone
data. Currently this includes XML, PHP, Ruby, Javascript, JSON and CSV
formatted data. The repository is updated as soon as the FTP
distribution is updated. All data can be downloaded as a zip and/or it
can be obtained/synced via anonymous SVN. Data is made available under
the MIT license. (From Rich Tibbett.)
Maps
Time zone boundaries
Civil time concepts and history
National histories of legal time
- Australia
- The Parliamentary Library has commissioned research
note on daylight saving time in Australia.
The Bureau of Meteorology publishes a list of
Implementation Dates of Daylight Savings Time within Australia.
- Belgium
- The Royal Observatory of Belgium maintains a table of time in Belgium (in Dutch).
- Brazil
- The Time Service Department of the National Observatory
records Brazil's daylight saving time decrees (in
Portuguese).
- Canada
- The Institute for National Measurement Standards publishes current
and some older information about Time
Zones & Daylight Saving Time.
- Chile
- The Chilean Hydrographic and Oceanographic Service publishes a history of
official time (in Spanish).
- Germany
- The National Institute for Science and Technology maintains the Realisation of
Legal Time in Germany.
- Israel
- The Interior Ministry periodically issues announcements (in Hebrew).
- Mexico
- The Investigation and Analysis Service of the Mexican Library of
Congress has published a history of Mexican local time (in Spanish).
- Malaysia
- See Singapore below.
- Netherlands
- Legal time in the Netherlands (in Dutch)
covers the history of local time in the Netherlands from ancient times.
- New Zealand
- The Department of Internal Affairs maintains a brief history About
Daylight Saving. The privately-maintained History of New Zealand
time has more details.
- Norway
- The Norwegian Meteorological Institute lists
Summer
time in Norway (in Norwegian), citing the
Institute of Theoretical Astrophysics, Oslo.
- Singapore
- Why
is Singapore in the "Wrong" Time Zone? details the
history of legal time in Singapore and Malaysia.
- United Kingdom
- History of
legal time in Britain discusses in detail the country
with perhaps the best-documented history of clock adjustments.
The National Physical Laboratory also maintains an Archive
of Summer time dates.
Precision timekeeping
- The
Science of Timekeeping is a thorough introduction
to the theory and practice of precision timekeeping.
- NTP: The Network
Time Protocol
discusses how to synchronize clocks of
Internet hosts.
- Timezone
Options for DHCP
(Internet RFC 4833)
specifies a DHCP option for a server to configure
a client's time zone and daylight saving settings automatically.
- A Few
Facts Concerning GMT, UT, and
the RGO
answers questions like "What is the
difference between GMT and UTC?"
- Astronomical
Times explains more abstruse astronomical time scales like
TDT,
TCG, and
TDB.
Time
Scales goes into more detail, particularly for historical variants.
- The IAU's SOFA
initiative publishes Fortran
code for converting among time scales like
TAI,
TDB, TDT and
UTC.
- Basics of
Space Flight - Reference Systems - Time Conventions
briefly explains interplanetary space flight timekeeping.
- Technical
Notes on Mars Solar Time as Adopted by the Mars24 Sunclock briefly
describes Mars Coordinated Time (MTC) and the
diverse local time
scales used by each landed mission on Mars.
- LeapSecond.com 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.
- Bulletins
maintained by the
IERS
EOP
(PC) contains official publications of
the Earth Orientation Parameters Product Center of the
International Earth Rotation Service, the committee that decides
when leap seconds occur.
- The Leap
Second Discussion List covers McCarthy
and Klepczynski's proposal to discontinue leap seconds,
discussed further in
The
leap second: its history and possible future.
The (now disbanded) AAS Leap Second
Committee has solicited input on this proposal.
The
Future of Leap Seconds covers this
contentious issue.
Time notation
-
A Summary of
the International Standard Date and Time Notation is a good
summary of
ISO
8601:2004 -- Data elements and interchange formats -- Information
interchange -- Representation of dates and times.
-
XML
Schema: Datatypes - dateTime specifies a format inspired by
ISO 8601 that is in common use in XML data.
-
Internet
Message Format (Internet RFC 2822) §3.3
specifies the time notation used in email and HTTP
headers.
-
Date and Time
on the Internet: Timestamps (Internet RFC 3339)
specifies an ISO 8601
profile for use in new Internet
protocols.
-
Date & Time
Formats on the Web surveys web- and Internet-oriented date and time
formats.
-
The
Best of Dates, the Worst of Dates covers many problems encountered
by software developers when handling dates and time stamps.
- The Unicode Common Locale Data Repository
(CLDR) Project has localizations for time zone names,
abbreviations, identifiers, and formats. For example, it contains
French translations for "Eastern European Summer Time", "EEST", and
"Bucharest". By-Type
Chart: names.metazone shows these values for many locales.
ICU contains a mechanism for using this data.
- Alphabetic time zone abbreviations should not be used as unique
identifiers for UTC offsets as they are ambiguous in
practice. For example, "EST" denotes 5 hours behind
UTC in English-speaking North America, but it denotes 10
or 11 hours ahead of UTC in Australia; and
French-speaking North Americans prefer
"HNE" to
"EST". For POSIX the
tz
database contains English abbreviations for all time stamps but in
many cases these are merely inventions of the database
maintainers.
- Numeric time zone abbreviations typically count hours east of
UTC, e.g.,
+09
for Japan and
-10
for Hawaii. However, the POSIX
TZ
environment variable uses the opposite convention. For
example, one might use TZ="JST-9"
and
TZ="HST10"
for Japan and Hawaii, respectively. If the
tz
database is available, it is usually better to use
settings like TZ="Asia/Tokyo"
and
TZ="Pacific/Honolulu"
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
POSIX TZ
to a value like
"GMT-9"
, though, since this would falsely claim that
local time is nine hours ahead of UTC and the time zone
is called "GMT".
Related indexes