1<!DOCTYPE html 2 PUBLIC "-//W3C//DTD HTML 4.01//EN" 3 "http://www.w3.org/TR/html4/strict.dtd"> 4<html> 5<head> 6<title>Sources for Time Zone and Daylight Saving Time Data</title> 7<link rel="schema.DC" href="http://purl.org/DC/elements/1.1/"> 8<meta http-equiv="Content-type" content='text/html; charset="UTF-8"'> 9<meta name="DC.Creator" content="Eggert, Paul"> 10<meta name="DC.Contributor" content="Olson, Arthur David"> 11<meta name="DC.Date" content="2015-10-01"> 12<meta name="DC.Description" 13 content="Sources of information about time zones and daylight saving time"> 14<meta name="DC.Identifier" 15 content="http://www.iana.org/time-zones/repository/tz-link.htm"> 16<meta name="Keywords" 17 content="database,daylight saving,DST,time zone,timezone,tz,zoneinfo"> 18</head> 19<body> 20<h1>Sources for Time Zone and Daylight Saving Time Data</h1> 21<h2>The <code><abbr title="time zone">tz</abbr></code> database</h2> 22<p> 23The <a href="https://en.wikipedia.org/wiki/Public_domain">public-domain</a> 24time zone database contains code and data 25that represent the history of local time 26for many representative locations around the globe. 27It is updated periodically to reflect changes made by political bodies 28to <a href="https://en.wikipedia.org/wiki/Time_zone">time zone</a> 29boundaries and 30<a href="https://en.wikipedia.org/wiki/Daylight_saving_time">daylight-saving</a> 31rules. 32This database (often called <code>zoneinfo</code> or 33<code><abbr>tz</abbr></code>) 34is used by several implementations, 35including 36<a href="http://www.gnu.org/software/libc/">the 37<abbr title="GNU's Not Unix">GNU</abbr> 38C Library</a> (used in 39<a href="https://en.wikipedia.org/wiki/Linux"><abbr>GNU</abbr>/Linux</a>), 40<a href="http://www.android.com">Android</a>, 41<a href="https://developer.mozilla.org/en-US/Firefox_OS">Firefox 42<abbr title="Operating System">OS</abbr></a>, 43<a href="https://www.freebsd.org">Free<abbr 44title="Berkeley Software Distribution">BSD</abbr></a>, 45<a href="http://netbsd.org">Net<abbr>BSD</abbr></a>, 46<a href="http://www.openbsd.org">Open<abbr>BSD</abbr></a>, 47<a href="https://cygwin.com">Cygwin</a>, 48<a href="http://www.delorie.com/djgpp/"><abbr 49title="DJ's GNU Programming Platform">DJGPP</abbr></a>, 50<a href="https://en.wikipedia.org/wiki/MINIX">MINIX</a>, 51<a href="https://en.wikipedia.org/wiki/WebOS"><abbr 52title="Web Operating System">webOS</abbr></a>, 53<a href="http://ibm.com/aix"><abbr 54title="Advanced Interactive eXecutive">AIX</abbr></a>, 55<a href="https://en.wikipedia.org/wiki/BlackBerry_10">BlackBerry 10</a>, 56<a href="http://www.apple.com/ios/"><abbr 57title="iPhone OS">iOS</abbr></a>, 58<a href="http://windows.microsoft.com">Microsoft Windows</a>, 59<a href="http://www8.hp.com/us/en/products/servers/openvms/overview.html">Open<abbr 60title="Virtual Memory System">VMS</abbr></a>, 61<a href="https://www.oracle.com/database/index.html">Oracle Database</a>, 62<a href="http://oracle.com/solaris">Oracle Solaris</a>, and 63<a href="http://www.apple.com/osx/"><abbr title="Operating System Ten">OS 64X</abbr></a>.</p> 65<p> 66Each location in the database represents a region where all 67clocks keeping local time have agreed since 1970. 68Locations are identified by continent or ocean and then by the name of 69the location, which is typically the largest city within the region. 70For example, <code>America/New_York</code> 71represents most of the <abbr title="United States">US</abbr> eastern time zone; 72<code>America/Phoenix</code> represents most of Arizona, which 73uses mountain time without daylight saving time (<abbr 74title="daylight saving time">DST</abbr>); 75<code>America/Detroit</code> represents most of Michigan, which uses 76eastern time but with different <abbr>DST</abbr> rules in 1975; 77and other entries represent smaller regions like Starke County, 78Indiana, which switched from central to eastern time in 1991 79and switched back in 2006. 80To use the database on an extended <a 81href="https://en.wikipedia.org/wiki/POSIX"><abbr 82title="Portable Operating System Interface">POSIX</abbr></a> 83implementation set the <code><abbr>TZ</abbr></code> 84environment variable to the location's full name, 85e.g., <code><abbr>TZ</abbr>="America/New_York"</code>.</p> 86<p> 87Associated with each region is a history of offsets from 88<a href="https://en.wikipedia.org/wiki/Universal_Time">Universal 89Time</a> (<abbr>UT</abbr>), which is <a 90href="https://en.wikipedia.org/wiki/Greenwich_Mean_Time">Greenwich Mean 91Time</a> (<abbr>GMT</abbr>) with days beginning at midnight; 92for time stamps after 1960 this is more precisely <a 93href="https://en.wikipedia.org/wiki/Coordinated_Universal_Time">Coordinated 94Universal Time</a> (<abbr>UTC</abbr>). 95The database also records when daylight saving time was in use, 96along with alphabetic time zone abbreviations such as <abbr>EST</abbr> 97for Eastern Standard Time in the <abbr>US</abbr>.</p> 98<p> 99In the <code><abbr>tz</abbr></code> database's 100<a href="ftp://ftp.iana.org/tz/releases/"><abbr 101title="File Transfer Protocol">FTP</abbr> releases</a> 102the code is in the file <code>tzcode<var>C</var>.tar.gz</code>, 103where <code><var>C</var></code> is the code's version; 104similarly, the data entries are in <code>tzdata<var>D</var>.tar.gz</code>, 105where <code><var>D</var></code> is the data's version. 106Since 1996, each version has been a four-digit year followed by 107lower-case letter (<samp>a</samp> through <samp>z</samp>, 108then <samp>za</samp> through <samp>zz</samp>, then <samp>zza</samp> 109through <samp>zzz</samp>, and so on). 110Convenience links to 111the <a href="ftp://ftp.iana.org/tz/tzcode-latest.tar.gz">latest 112code</a> and 113<a href="ftp://ftp.iana.org/tz/tzdata-latest.tar.gz">latest data</a> revisions 114are also available. 115The following <a 116href="https://en.wikipedia.org/wiki/Unix_shell">shell</a> commands download 117these files to a <abbr>GNU</abbr>/Linux or similar host; 118see the downloaded 119<code>README</code> file for what to do next.</p> 120<pre style="margin-left: 2em"><code>mkdir tz 121cd tz 122<a href="http://www.gnu.org/software/wget/">wget</a> --retr-symlinks 'ftp://ftp.iana.org/tz/tz*-latest.tar.gz' 123<a href="http://www.gnu.org/software/gzip/">gzip</a> -dc tzcode-latest.tar.gz | <a href="http://www.gnu.org/software/tar/">tar</a> -xf - 124gzip -dc tzdata-latest.tar.gz | tar -xf - 125</code></pre> 126<p> 127The code and data files can also be obtained from the 128<a href="http://www.iana.org/time-zones">Time Zone Database website</a> 129of the <a href="http://www.iana.org">Internet Assigned Numbers 130Authority (IANA)</a>. 131An <a href="https://github.com/eggert/tz">unofficial development 132repository</a> of the code and data is available 133in <a href="http://git-scm.com">Git</a> form 134from <a href="https://github.com">GitHub</a>; be careful, as this 135repository is less well tested and probably contains more errors. 136<p> 137The code lets you compile the <code><abbr>tz</abbr></code> source files into 138machine-readable binary files, one for each location. It also lets 139you read a <code><abbr>tz</abbr></code> binary file and interpret time stamps for that 140location.</p> 141<p> 142The files are by no means authoritative. If you find errors, please 143send changes to the <a href="mailto:tz@iana.org">time zone 144mailing list</a>. You can also <a 145href="http://news.gmane.org/gmane.comp.time.tz">browse recent 146messages</a> sent to the mailing list, <a 147href="https://mm.icann.org/mailman/listinfo/tz">subscribe</a> to it, 148and browse the <a 149href="http://mm.icann.org/pipermail/tz/">archive of old 150messages</a>. For further information about updates, please see 151<a href="http://tools.ietf.org/html/rfc6557">Procedures for 152Maintaining the Time Zone Database</a> (Internet <abbr 153title="Request For Comments">RFC</abbr> 6557).</p> 154<p> 155The Web has several other sources for time zone and daylight saving time data. 156Here are some links that may be of interest. 157</p> 158<h2>Commentary on the <code><abbr>tz</abbr></code> database</h2> 159<ul> 160<li>The article 161<a href="https://en.wikipedia.org/wiki/Tz_database">tz database</a> is 162an encyclopedic summary.</li> 163<li><a href="https://web.archive.org/web/20140221080916/http://www.cstdbill.com/tzdb/tz-how-to.html">How to Read the 164tz Database Source Files</a> explains the <code><abbr>tz</abbr></code> 165database format.</li> 166<li><a 167href="http://blog.jonudell.net/2009/10/23/a-literary-appreciation-of-the-olsonzoneinfotz-database/">A 168literary appreciation of the Olson/Zoneinfo/tz database</a> comments on the 169database's style.</li> 170</ul> 171<h2>Web sites using recent versions of the <code><abbr>tz</abbr></code> database</h2> 172<p> 173These are listed roughly in ascending order of complexity and fanciness. 174</p> 175<ul> 176<li><a href="http://time.is">Time.is</a> shows locations' 177time and zones in a simple format.</li> 178<li><a 179href="http://twiki.org/cgi-bin/xtra/tzdatepick.html">Date and Time Gateway</a> 180lets you see the <code><abbr>TZ</abbr></code> values directly.</li> 181<li><a 182href="http://convertit.com/Go/ConvertIt/World_Time/Current_Time.ASP">Current 183Time in 1000 Places</a> uses descriptions of the values.</li> 184<li><a href="http://www.timezoneconverter.com/cgi-bin/tzc.tzc">Time Zone 185Converter</a> 186uses a pulldown menu.</li> 187<li><a href="http://home.kpn.nl/vanadovv/time/TZworld.html">Complete 188timezone information for all countries</a> displays tables of DST rules. 189<li><a href="http://www.timeanddate.com/worldclock/">The World Clock – 190Time Zones</a> lets you sort zone names and convert times.</li> 191<li><a href="http://www.zeitverschiebung.net/en/">Time Difference</a> 192calculates the current time difference between locations.</li> 193<li><a href="http://www.wx-now.com">Weather Now</a> lists the weather too.</li> 194<li><a href="http://www.thetimenow.com">The Time Now</a> also lists weather.</li> 195<li><a href="http://worldtime.io">worldtime.io</a> 196also contains data about time zone boundaries; it supports queries via place 197names and shows location maps.</li> 198</ul> 199<h2>Network protocols for <code><abbr>tz</abbr></code> data</h2> 200<ul> 201<li>The <a href="http://www.ietf.org">Internet Engineering Task Force</a>'s 202<a href="http://datatracker.ietf.org/wg/tzdist/charter/">Time Zone Data 203Distribution Service (tzdist) working group</a> is developing a scalable 204protocol for distributing time zone data to clients. It has generated a 205a <a href="http://datatracker.ietf.org/doc/draft-ietf-tzdist-service/">draft 206protocol for transferring time zone data</a> and a <a 207href="http://datatracker.ietf.org/doc/draft-ietf-tzdist-caldav-timezone-ref/">draft 208protocol for transferring time zone data by reference</a>. This work is based 209on the iCalendar and CalConnect efforts described below.</li> 210<li>The <a href="http://tools.ietf.org/html/rfc5545"> 211Internet Calendaring and Scheduling Core Object Specification 212(iCalendar)</a> (Internet <abbr>RFC</abbr> 5445) 213covers time zone 214data; see its VTIMEZONE calendar component. 215The iCalendar format requires specialized parsers and generators; a 216variant <a href="http://tools.ietf.org/html/rfc6321">xCal</a> 217(Internet <abbr>RFC</abbr> 6321) uses 218<a href="http://www.w3.org/XML/"><abbr 219title="Extensible Markup Language">XML</abbr></a> format, and a variant 220<a href="http://tools.ietf.org/html/rfc7265">jCal</a> 221(Internet <abbr>RFC</abbr> 7265) 222uses <a href="http://www.json.org"><abbr 223title="JavaScript Object Notation">JSON</abbr></a> format. 224<a href="http://calconnect.org">CalConnect, The Calendaring and Scheduling 225Consortium</a> is promoting further work in this area. <a 226href="http://calconnect.org/publications/icalendartimezoneproblemsandrecommendationsv1.0.pdf">iCalendar 227TIMEZONE Problems and Recommendations</a> offers guidelines and 228recommendations for the use of VTIMEZONE and <code><abbr>tz</abbr></code>.</li> 229<li>The <a 230href="http://calconnect.org/publications/timezoneregistryandservicerecommendationsv1.0.pdf">Timezone 231Registry and Service Recommendations</a> of CalConnect's 232<a href="http://calconnect.org/tc-timezone.shtml">TIMEZONE 233Technical Committee</a> discusses a 234strategy for defining and deploying a time zone 235registration process that would establish unique names for each 236version of each <code><abbr>tz</abbr></code> zone, along with a polygonal 237representation of the geographical area corresponding to the 238zone.</li> 239<li>The <a 240href="http://lists.w3.org/Archives/Public/www-rdf-calendar/">www-rdf-calendar</a> 241list discusses <a 242href="http://www.w3.org/RDF/"><abbr 243title="Resource Description Framework">RDF</abbr></a>-based calendar 244and group scheduling systems, and has a <a 245href="http://www.w3.org/2002/12/cal/#tzd">workspace on time zone 246data</a> converted from <code><abbr>tz</abbr></code>.</li> 247</ul> 248<h2>Other <code><abbr>tz</abbr></code> compilers</h2> 249<ul> 250<li><a href="http://sourceforge.net/projects/vzic/">Vzic</a> is a <a 251href="https://en.wikipedia.org/wiki/C_%28programming_language%29">C</a> 252program that compiles 253<code><abbr>tz</abbr></code> source into iCalendar-compatible VTIMEZONE files. 254Vzic is freely 255available under the <a 256href="http://www.gnu.org/copyleft/gpl.html"><abbr>GNU</abbr> 257General Public License (<abbr 258title="General Public License">GPL</abbr>)</a>.</li> 259<li><a href="http://sourceforge.net/projects/tzical/">tziCal – tz 260database conversion utility</a> is like Vzic, except for the <a 261href="https://msdn.microsoft.com/netframework">.NET framework</a> 262and with a <abbr>BSD</abbr>-style license.</li> 263<li><a 264href="http://search.cpan.org/dist/DateTime-TimeZone/">DateTime::TimeZone</a> 265contains a script <code>parse_olson</code> that compiles 266<code><abbr>tz</abbr></code> source into <a href="http://www.perl.org">Perl</a> 267modules. It is part of the Perl <a 268href="http://datetime.perl.org">DateTime Project</a>, which is freely 269available under both the <abbr>GPL</abbr> and the Perl Artistic 270License. DateTime::TimeZone also contains a script 271<code>tests_from_zdump</code> that generates test cases for each clock 272transition in the <code><abbr>tz</abbr></code> database.</li> 273<li>The <a href="http://howardhinnant.github.io/tz.html">Time Zone 274Database Parser</a> is a 275<a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a> parser and 276runtime library. It is freely available under the 277<a href="http://creativecommons.org/licenses/by/4.0/">Creative Commons 278Attribution 4.0 International Public License</a>.</li> 279<li><a href="http://site.icu-project.org">International Components for 280Unicode (<abbr>ICU</abbr>)</a> contains C/C++ and <a 281href="https://en.wikipedia.org/wiki/Java_%28programming_language%29">Java</a> 282libraries for internationalization that 283has a compiler from <code><abbr>tz</abbr></code> source 284and from <abbr title="Common Locale Data Repository">CLDR</abbr> data 285(mentioned below) 286into an <abbr>ICU</abbr>-specific format. 287<abbr>ICU</abbr> is freely available under a 288<abbr>BSD</abbr>-style license.</li> 289<li>The <a 290href="http://www.oracle.com/technetwork/java/javase/tzupdater-readme-136440.html">TZUpdater 291tool</a> compiles <code><abbr>tz</abbr></code> source into the format used by 292Oracle Java.</li> 293<li><a href="http://www.joda.org/joda-time/">Joda-Time – Java date 294and time <abbr title="Application Program Interface">API</abbr></a> 295contains a class 296<code>org.joda.time.tz.ZoneInfoCompiler</code> that compiles 297<code><abbr>tz</abbr></code> source into a Joda-specific binary format. Joda Time 298is freely available under a <abbr>BSD</abbr>-style license.</li> 299<li><a href="http://nodatime.org">Noda Time – Date and time API for 300.NET</a> and <a href="http://www.babiej.demon.nl/Tz4Net/main.htm">TZ4Net</a> 301are similar to Joda Time, but for the .NET framework instead of 302Java. They are freely available under the 303<a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License</a> 304and a <abbr>BSD</abbr>-style license, respectively.</li> 305<li><a href="https://en.wikipedia.org/wiki/JavaScript">JavaScript</a>-based 306compilers and libraries include: 307<ul> 308<li><a href="http://momentjs.com/timezone/">Moment Timezone</a> is a 309plugin for the <a href="http://momentjs.com">Moment.js</a> date 310manipulation library. It is freely available under 311the <abbr title="Massachusetts Institute of Technology">MIT</abbr> 312license.</li> 313<li><a href="https://github.com/mde/timezone-js">TimezoneJS.Date</a>'s 314<abbr>API</abbr> is upward compatible with standard JavaScript 315Dates. It is freely available under the Apache License.</li> 316<li><a href="https://github.com/sproutsocial/walltime-js">Walltime-js</a> 317translates <abbr>UT</abbr> to local time. It is freely available under 318the <abbr>MIT</abbr> license.</li> 319</ul> 320<li><a href="http://pytz.sourceforge.net">pytz – World Timezone 321Definitions for Python</a> compiles <code><abbr>tz</abbr></code> source into 322<a href="https://www.python.org">Python</a>. 323It is freely available under a <abbr>BSD</abbr>-style license.</li> 324<li><a href="http://tzinfo.github.io">TZInfo – 325Ruby Timezone Library</a> 326compiles <code><abbr>tz</abbr></code> source into 327<a href="https://www.ruby-lang.org/en/">Ruby</a>. 328It is freely available under the <abbr>MIT</abbr> license.</li> 329<li>The <a href="http://www.squeaksource.com/Chronos/">Chronos Date/Time 330Library</a> is 331a <a href="https://en.wikipedia.org/wiki/Smalltalk">Smalltalk</a> class 332library that compiles <code><abbr>tz</abbr></code> source into a time 333zone repository whose format 334is either proprietary or an <abbr>XML</abbr>-encoded 335representation.</li> 336<li><a href="http://tcl.tk">Tcl</a> 337contains a developer-oriented parser that compiles <code><abbr>tz</abbr></code> 338source into text files, along with a runtime that can read those 339files. Tcl is freely available under a <abbr>BSD</abbr>-style 340license.</li> 341</ul> 342<h2>Other <code><abbr>tz</abbr></code> binary file readers</h2> 343<ul> 344<li>The <a 345href="http://www.gnu.org/software/libc/"><abbr>GNU</abbr> C 346Library</a> 347has an independent, thread-safe implementation of 348a <code><abbr>tz</abbr></code> binary file reader. 349This library is freely available under the 350<a href="http://www.gnu.org/copyleft/lesser.html"> 351<abbr>GNU</abbr> Lesser General Public License 352(<abbr title="Lesser General Public License">LGPL</abbr>)</a>, 353and is widely used in <abbr>GNU</abbr>/Linux systems.</li> 354<li><a href="https://www.gnome.org">GNOME</a>'s Glib has 355a <code><abbr>tz</abbr></code> binary file reader written in C that 356creates a <code>GTimeZone</code> object representing sets 357of <abbr>UT</abbr> offsets. 358It is freely available under the <abbr>LGPL</abbr>.</li> 359<li><a href="http://bmsi.com/java/#TZ">ZoneInfo.java</a> 360is a <code><abbr>tz</abbr></code> binary file reader written in Java. 361It is freely available under the <abbr>LGPL</abbr>.</li> 362<li><a href="https://github.com/bigeasy/timezone">Timezone</a> is a 363JavaScript library that supports date arithmetic that is time zone 364aware. It is freely available under the <abbr>MIT</abbr> license.</li> 365<li>Tcl, mentioned above, also contains a 366<code><abbr>tz</abbr></code> binary file reader.</li> 367<li><a href="http://search.cpan.org/perldoc?DateTime::TimeZone::Tzfile"> 368DateTime::TimeZone::Tzfile</a> 369is a <code><abbr>tz</abbr></code> binary file reader written in Perl. 370It is freely available under the same terms as Perl 371(dual <abbr>GPL</abbr> and Artistic license).</li> 372<li>The 373public-domain <a href="https://github.com/dbaron/tz.js">tz.js</a> 374library contains a Python tool that 375converts <code><abbr>tz</abbr></code> binary data into 376<abbr>JSON</abbr>-format data suitable for use 377in its JavaScript library for time zone conversion. Dates before 1970 378are not supported.</li> 379<li>The <a 380href="http://hackage.haskell.org/package/timezone-olson">timezone-olson</a> 381package contains <a href="http://haskell.org">Haskell</a> code that 382parses and uses <code><abbr>tz</abbr></code> binary data. It is freely 383available under a BSD-style license.</li> 384</ul> 385<h2>Other <code><abbr>tz</abbr></code>-based time zone software</h2> 386<ul> 387<li><a href="https://foxclocks.org">FoxClocks</a> 388is an extension for <a href="http://www.google.com/chrome/">Google 389Chrome</a> and for <a 390href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/Toolkit_API">Mozilla 391Toolkit</a> applications like <a 392href="https://www.mozilla.org/en-US/firefox/new/">Firefox</a> and <a 393href="https://www.mozilla.org/en-US/thunderbird/">Thunderbird</a>. 394It displays multiple clocks in the application window, and has a mapping 395interface to <a href="http://www.google.com/earth/">Google Earth</a>. 396It is freely available under the <abbr>GPL</abbr>.</li> 397<li><a href="http://golang.org">Go programming language</a> 398implementations contain a copy of a 32-bit subset of a recent 399<code><abbr>tz</abbr></code> database in a 400Go-specific format.</li> 401<li><a 402href="http://users.skynet.be/Peter.Verthez/projects/intclock/">International 403clock (intclock)</a> is a clock that displays multiple time zones on 404<abbr>GNU</abbr>/Linux and similar systems. It is freely available 405under the <abbr>GPL</abbr>.</li> 406<li>Microsoft Windows 8.1 407and later has <code><abbr>tz</abbr></code> data and <abbr>CLDR</abbr> 408data (mentioned below) used by 409<a href="https://en.wikipedia.org/wiki/Windows_Runtime">Windows Runtime</a> 410classes such as <a 411href="https://msdn.microsoft.com/en-us/library/windows/apps/windows.globalization.datetimeformatting.datetimeformatter.aspx"><code>DateTimeFormatter</code></a>. 412<a 413href="http://blogs.msdn.com/b/bclteam/archive/2007/06/07/exploring-windows-time-zones-with-system-timezoneinfo-josh-free.aspx">Exploring 414Windows Time Zones with <code>System.TimeZoneInfo</code></a> describes 415the older, proprietary method of Microsoft Windows 2000 and later, 416which stores time zone data in the 417<a href="https://en.wikipedia.org/wiki/Windows_Registry">Windows Registry</a>. The 418<a 419href="http://www.unicode.org/cldr/charts/latest/supplemental/zone_tzid.html">Zone → 420Tzid table</a> or <a 421href="http://unicode.org/repos/cldr/trunk/common/supplemental/windowsZones.xml"><abbr>XML</abbr> 422file</a> of the <abbr>CLDR</abbr> data maps proprietary zone IDs 423to <code><abbr>tz</abbr></code> names. 424<li><a 425href="https://www.oracle.com/java/index.html">Oracle 426Java</a> contains a copy of a subset of a recent 427<code><abbr>tz</abbr></code> database in a 428Java-specific format.</li> 429<li><a href="https://kimmo.suominen.com/sw/timezone/">Time Zone</a> is 430a <a href="https://wordpress.org">WordPress</a> plugin. It is freely 431available under a <abbr>BSD</abbr>-style license.</li> 432<li><a href="http://www.relativedata.com/time-zone-master">Time Zone 433Master</a> is a Microsoft Windows clock program that can automatically 434download, compile and use the <code>tzdata<var>D</var>.tar.gz</code> 435files as they are released. The Basic version is free.</li> 436<li><a 437href="http://veladg.com/velaterra.html">VelaTerra</a> is 438an <abbr>OS X</abbr> program. Its developers 439<a href="http://veladg.com/tzoffer.html">offer free 440licenses</a> to <code><abbr>tz</abbr></code> contributors.</li> 441</ul> 442<h2>Other time zone databases</h2> 443<ul> 444<li><a href="http://www.astro.com/cgi/aq.cgi">Atlas Query</a> 445is Astrodienst's Web version of Shanks and Pottenger's 446time zone history atlases published in both <a 447href="http://astrocom.com/astrology-products/software/acs-atlas-software">computer</a> 448and book form (<a 449href="http://www.astrocom.com/astrology/books/american-atlas">one volume 450for the <abbr>US</abbr></a>, and <a 451href="http://www.astrocom.com/astrology/books/international-atlas">one for 452other locations</a>) by <a 453href="http://astrocom.com">Astro Computing Services</a>. 454These atlases are extensive but unreliable, as Shanks appears to have 455guessed many <abbr>UT</abbr> offsets and transitions. The atlases cite no 456sources and do not indicate which entries are guesswork.</li> 457<li><a href="https://en.wikipedia.org/wiki/HP-UX">HP-UX</a> has a database in 458its own <code>tztab</code>(4) format.</li> 459<li>Microsoft Windows has proprietary data mentioned above.</li> 460<li><a href="http://www.worldtimeserver.com">World Time Server</a> 461is another time zone database.</li> 462<li><a href="http://tycho.usno.navy.mil/tzones.html">World Time Zones</a> 463contains data from the Time Service Department of the 464<abbr>US</abbr> Naval Observatory.</li> 465<li>The <a href="http://www.iata.org/publications/Pages/ssim.aspx">Standard 466Schedules Information Manual</a> of the 467International Air Transport Association 468gives current time zone rules for airports served by commercial aviation.</li> 469</ul> 470<h2>Maps</h2> 471<ul> 472<li>The <a href="https://www.cia.gov/index.html">United States Central 473Intelligence Agency (<abbr 474title="Central Intelligence Agency">CIA</abbr>)</a> publishes a <a 475href="https://www.cia.gov/library/publications/the-world-factbook/graphics/ref_maps/physical/pdf/standard_time_zones_of_the_world.pdf">time 476zone map</a>; the 477<a 478href="http://www.lib.utexas.edu/maps/world.html">Perry–Castañeda 479Library Map Collection</a> 480of the University of Texas at Austin has copies of 481recent editions. 482The pictorial quality is good, 483but the maps do not indicate summer time, 484and parts of the data are a few years out of date.</li> 485<li><a href="http://www.worldtimezone.com">Current time around the world 486and standard time zones map of the world</a> 487has several fancy time zone maps; it covers Russia particularly well. 488The maps' pictorial quality is not quite as good as the 489<abbr>CIA</abbr>'s 490but the maps are more up to date.</li> 491<li><a 492href="http://blog.poormansmath.net/how-much-is-time-wrong-around-the-world/">How 493much is time wrong around the world?</a> maps the difference between 494mean solar and standard time, highlighting areas such as western China 495where the two differ greatly. It's a bit out of date, unfortunately.</li> 496</ul> 497<h2>Time zone boundaries</h2> 498<ul> 499<li><a href="http://efele.net/maps/tz/"><abbr>TZ</abbr> timezones 500maps</a> contains <a 501href="https://en.wikipedia.org/wiki/Shapefile">shapefiles</a> of 502sets of <code><abbr>tz</abbr></code> regions.</li> 503<li>The <a href="https://github.com/bradfitz/latlong">latlong package</a> 504maps geographical coordinates to a <code><abbr>tz</abbr></code> region. 505It is written in Go and is freely available under the Apache License.</li> 506<li><a href="http://derickrethans.nl/what-time-is-it.html">What Time 507is It Here?</a> applies <a href="http://www.mongodb.org">MongoDB</a> 508geospatial query operators to shapefiles' data.</li> 509<li><a href="http://statoids.com/statoids.html">Administrative 510Divisions of Countries ("Statoids")</a> contains lists of 511political subdivision data related to time zones.</li> 512<li><a href="http://home.kpn.nl/vanadovv/time/Multizones.html">Time 513zone boundaries for multizone countries</a> summarizes legal 514boundaries between time zones within countries.</li> 515<li>Manifold.net's <a 516href="http://manifold.net/info/freestuff.shtml">Free Stuff for 517Manifold System Users</a> includes a Manifold-format map of 518world time zone boundaries distributed under the 519<abbr>GPL</abbr>.</li> 520<li>The GeoCommunity lists several commercial sources for <a 521href="http://spatialnews.geocomm.com/features/timezones/">International 522Time Zones and Time Zone Data</a>.</li> 523<li>A ship within the <a 524href="https://en.wikipedia.org/wiki/Territorial_waters">territorial 525waters</a> of any nation uses that nation's time. In international 526waters, time zone boundaries are meridians 15° apart, except that 527<abbr>UTC</abbr>−12 and <abbr>UTC</abbr>+12 are each 7.5° 528wide and are separated by 529the 180° meridian (not by the International Date Line, which is 530for land and territorial waters only). A captain can change ship's 531clocks any time after entering a new time zone; midnight changes are 532common.</li> 533</ul> 534<h2>Civil time concepts and history</h2> 535<ul> 536<li><a href="http://www.nist.gov/pml/general/time/index.cfm">A 537Walk through Time</a> 538surveys the evolution of timekeeping.</li> 539<li><a href="http://www.webexhibits.org/daylightsaving/">About Daylight 540Saving Time – History, rationale, laws & dates</a> 541is an overall history of <abbr>DST</abbr>.</li> 542<li><a href="http://www.w3.org/TR/timezone/">Working with Time Zones</a> 543contains guidelines and best practices for software applications that 544deal with civil time.</li> 545<li><a href="http://energy.ca.gov/daylightsaving.html">Saving Time, 546Saving Energy</a> discusses a primary justification for <abbr>DST</abbr>.</li> 547<li><a href="http://seizethedaylight.com/dst/">A Brief 548History of Daylight Saving Time</a> summarizes some of the contentious 549history of <abbr>DST</abbr>.</li> 550<li><a href="http://www.staff.science.uu.nl/~gent0113/idl/idl.htm">A History of 551the International Date Line</a> tells the story of the most important 552time zone boundary.</li> 553<li><a href="http://statoids.com/tconcept.html">Basic Time 554Zone Concepts</a> discusses terminological issues behind time zones.</li> 555</ul> 556<h2>National histories of legal time</h2> 557<dl> 558<dt>Australia</dt> 559<dd>The Parliamentary Library has commissioned a <a 560href="http://www.aph.gov.au/binaries/library/pubs/rp/2009-10/10rp10.pdf">research 561paper on daylight saving time in Australia</a>. 562The Bureau of Meteorology publishes a list of <a 563href="http://www.bom.gov.au/climate/averages/tables/dst_times.shtml">Implementation 564Dates of Daylight Savings Time within Australia</a>.</dd> 565<dt>Belgium</dt> 566<dd>The Royal Observatory of Belgium maintains a table of <a 567href="http://www.astro.oma.be/GENERAL/INFO/nli001a.html" 568hreflang="nl">time in Belgium (in Dutch)</a>.</dd> 569<dt>Brazil</dt> 570<dd>The Time Service Department of the National Observatory 571records <a href="http://pcdsh01.on.br/DecHV.html" 572hreflang="pt-BR">Brazil's daylight saving time decrees (in 573Portuguese)</a>.</dd> 574<dt>Canada</dt> 575<dd>National Research Council Canada publishes current 576and some older information about <a 577href="http://www.nrc-cnrc.gc.ca/eng/services/time/time_zones.html">time 578zones & daylight saving time</a>.</dd> 579<dt>Chile</dt> 580<dd>The Hydrographic and Oceanographic Service of the Chilean Navy publishes a 581<a href="http://www.horaoficial.cl/historia_hora.html" hreflang="es">history of 582Chile's official time (in Spanish)</a>.</dd> 583<dt>Germany</dt> 584<dd>The National Institute for Science and Technology maintains the <a 585href="http://www.ptb.de/cms/en/fachabteilungen/abt4/fb-44/ag-441/realisation-of-legal-time-in-germany.html">Realisation 586of Legal Time in Germany</a>.</dd> 587<dt>Israel</dt> 588<dd>The Interior Ministry periodically issues <a 589href="ftp://ftp.cs.huji.ac.il/pub/tz/announcements" 590hreflang="he">announcements (in Hebrew)</a>.</dd> 591<dt>Mexico</dt> 592<dd>The Investigation and Analysis Service of the Mexican Library of 593Congress has published a <a 594href="http://www.diputados.gob.mx/bibliot/publica/inveyana/polisoc/horver/index.htm" 595hreflang="es">history of Mexican local time (in Spanish)</a>.</dd> 596<dt>Malaysia</dt> 597<dd>See Singapore below.</dd> 598<dt>Netherlands</dt> 599<dd><a href="http://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm" 600hreflang="nl">Legal time in the Netherlands (in Dutch)</a> 601covers the history of local time in the Netherlands from ancient times.</dd> 602<dt>New Zealand</dt> 603<dd>The Department of Internal Affairs maintains a brief <a 604href="http://www.dia.govt.nz/Daylight-Saving-History">History of 605Daylight Saving</a>. The privately-maintained <a 606href="http://astrologyschool.com/nztime.html">History of New Zealand 607time</a> has more details.</dd> 608<dt>Singapore</dt> 609<dd><a 610href="http://www.math.nus.edu.sg/aslaksen/teaching/timezone.html">Why 611is Singapore in the "Wrong" Time Zone?</a> details the 612history of legal time in Singapore and Malaysia.</dd> 613<dt>United Kingdom</dt> 614<dd><a 615href="http://www.polyomino.org.uk/british-time/">History of 616legal time in Britain</a> discusses in detail the country 617with perhaps the best-documented history of clock adjustments. 618The National Physical Laboratory also maintains an <a 619href="http://www.npl.co.uk/educate-explore/what-is-time/archive-of-summer-time-dates-1916-2006">Archive 620of Summer time dates</a>.</dd> 621<dt>United States</dt> 622<dd>The Department of Transportation's <a 623href="http://www.transportation.gov/regulations/recent-time-zone-proceedings">Recent 624Time Zone Proceedings</a> lists changes to time zone boundaries.</dd> 625</dl> 626<h2>Precision timekeeping</h2> 627<ul> 628<li><a 629href="http://literature.agilent.com/litweb/pdf/5965-7984E.pdf">The 630Science of Timekeeping</a> is a thorough introduction 631to the theory and practice of precision timekeeping.</li> 632<li><a href="http://www.ntp.org"><abbr 633title="Network Time Protocol">NTP</abbr>: The Network 634Time Protocol</a> 635discusses how to synchronize clocks of 636Internet hosts.</li> 637<li>The <a href="http://www.nist.gov/el/isd/ieee/ieee1588.cfm">Precision 638Time Protocol</a> (<abbr 639title="Institute of Electrical and Electronics Engineers">IEEE</abbr> 1588) 640can achieve submicrosecond clock accuracy on a local area network.</li> 641<li><a 642href="http://tools.ietf.org/html/rfc4833">Timezone 643Options for <abbr title="Dynamic Host Configuration Protocol">DHCP</abbr></a> 644(Internet <abbr>RFC</abbr> 4833) 645specifies a <a 646href="https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol"><abbr>DHCP</abbr></a> 647option for a server to configure 648a client's time zone and daylight saving settings automatically.</li> 649<li><a href="http://gauss.gge.unb.ca/GMT.UT.and.the.RGO.html">A Few Facts 650Concerning <abbr>GMT</abbr>, <abbr>UT</abbr>, and 651the <abbr title="Royal Greenwich Observatory">RGO</abbr></a> 652answers questions like "What is the 653difference between <abbr>GMT</abbr> and <abbr>UTC</abbr>?"</li> 654<li><a 655href="http://www.cv.nrao.edu/~rfisher/Ephemerides/times.html">Astronomical 656Times</a> explains more abstruse astronomical time scales like 657<abbr title="Terrestrial Dynamic Time">TDT</abbr>, 658<abbr title="Geocentric Coordinate Time">TCG</abbr>, and 659<abbr title="Barycentric Dynamic Time">TDB</abbr>. 660<a href="http://www.ucolick.org/~sla/leapsecs/timescales.html">Time 661Scales</a> goes into more detail, particularly for historical variants.</li> 662<li>The <a href="http://iau.org"><abbr 663title="International Astronomical Union">IAU</abbr></a>'s <a 664href="http://www.iausofa.org"><abbr 665title="Standards Of Fundamental Astronomy">SOFA</abbr></a> 666collection contains C and <a 667href="https://en.wikipedia.org/wiki/Fortran">Fortran</a> 668code for converting among time scales like 669<abbr title="International Atomic Time">TAI</abbr>, 670<abbr>TDB</abbr>, <abbr>TDT</abbr> and 671<abbr>UTC</abbr>.</li> 672<li><a href="http://www2.jpl.nasa.gov/basics/bsf2-3.php">Basics of 673Space Flight – Reference Systems – Time Conventions</a> 674briefly explains interplanetary space flight timekeeping.</li> 675<li><a 676href="http://www.giss.nasa.gov/tools/mars24/help/notes.html">Technical 677Notes on Mars Solar Time as Adopted by the Mars24 Sunclock</a> briefly 678describes Mars Coordinated Time (<abbr 679title="Mars Coordinated Time">MTC</abbr>) and the 680diverse local time 681scales used by each landed mission on Mars.</li> 682<li><a href="http://leapsecond.com">LeapSecond.com</a> is 683dedicated not only to leap seconds but to precise time and frequency 684in general. It covers the state of the art in amateur timekeeping, and 685how the art has progressed over the past few decades.</li> 686<li><a 687href="http://www.iers.org/IERS/EN/Publications/Bulletins/bulletins.html"><abbr 688title="International Earth Rotation and Reference Systems Service">IERS</abbr> 689Bulletins</a> contains official publications of the International 690Earth Rotation and Reference Systems Service, which decides 691when leap seconds occur.</li> 692<li>The <a 693href="https://pairlist6.pair.net/mailman/listinfo/leapsecs">Leap 694Second Discussion List</a> covers <a 695href="http://gauss.gge.unb.ca/papers.pdf/gpsworld.november99.pdf">McCarthy 696and Klepczynski's proposal to discontinue leap seconds</a>, 697discussed further in 698<a href="http://www.cl.cam.ac.uk/~mgk25/time/metrologia-leapsecond.pdf">The 699leap second: its history and possible future</a>. 700<a href="http://www.ucolick.org/~sla/leapsecs/"><abbr>UTC</abbr> 701might be redefined 702without Leap Seconds</a> gives pointers on this 703contentious issue.</li> 704</ul> 705<h2>Time notation</h2> 706<ul> 707<li>The <a href="http://cldr.unicode.org">Unicode Common Locale Data 708Repository (<abbr>CLDR</abbr>) Project</a> has localizations for time 709zone names, abbreviations, identifiers, and formats. For example, it 710contains French translations for "Eastern European Summer Time", 711"<abbr title="Eastern European Summer Time">EEST</abbr>", and 712"Bucharest". Its 713<a href="http://unicode.org/cldr/charts/by_type/index.html">by-type 714charts</a> show these values for many locales. Data values are available in 715both <abbr title="Locale Data Markup Language">LDML</abbr> 716(an <abbr>XML</abbr> format) and <abbr>JSON</abbr>. 717<li> 718<a href="http://www.cl.cam.ac.uk/~mgk25/iso-time.html">A summary of 719the international standard date and time notation</a> is a good 720summary of 721<a 722href="http://www.iso.org/iso/catalogue_detail?csnumber=40874"><abbr 723title="International Organization for Standardization">ISO</abbr> 7248601:2004 – Data elements and interchange formats – Information 725interchange – Representation of dates and times</a>.</li> 726<li> 727<a href="http://www.w3.org/TR/xmlschema-2/#dateTime"><abbr>XML</abbr> 728Schema: Datatypes – dateTime</a> specifies a format inspired by 729<abbr>ISO</abbr> 8601 that is in common use in <abbr>XML</abbr> data.</li> 730<li> 731<a href="http://tools.ietf.org/html/rfc5322">Internet 732Message Format</a> (Internet <abbr>RFC</abbr> 5322) §3.3 733specifies the time notation used in email and <a 734href="https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol"><abbr>HTTP</abbr></a> 735headers.</li> 736<li> 737<a href="http://tools.ietf.org/html/rfc3339">Date and Time 738on the Internet: Timestamps</a> (Internet <abbr>RFC</abbr> 3339) 739specifies an <abbr>ISO</abbr> 8601 740profile for use in new Internet 741protocols.</li> 742<li> 743<a href="http://www.hackcraft.net/web/datetime/">Date & Time 744Formats on the Web</a> surveys web- and Internet-oriented date and time 745formats.</li> 746<li> 747<a href="http://exit109.com/~ghealton/y2k/yrexamples.html">The 748Best of Dates, the Worst of Dates</a> covers many problems encountered 749by software developers when handling dates and time stamps.</li> 750<li>Alphabetic time zone abbreviations should not be used as unique 751identifiers for <abbr>UTC</abbr> offsets as they are ambiguous in 752practice. For example, in English-speaking North America 753"<abbr>CST</abbr>" denotes 6 hours behind <abbr>UTC</abbr>, 754but in China it denotes 8 hours ahead of <abbr>UTC</abbr>, 755and French-speaking North Americans prefer 756"<abbr title="Heure Normale du Centre">HNC</abbr>" to 757"<abbr>CST</abbr>". For <abbr>POSIX</abbr> the <code><abbr>tz</abbr></code> 758database contains English abbreviations for all time stamps but in 759many cases these are merely inventions of the database 760maintainers.</li> 761<li>Numeric time zone abbreviations typically count hours east of 762<abbr>UTC</abbr>, e.g., +09 for Japan and 763−10 for Hawaii. However, the <abbr>POSIX</abbr> 764<code><abbr>TZ</abbr></code> environment variable uses the opposite convention. 765For example, one might use <code><abbr>TZ</abbr>="<abbr 766title="Japan Standard Time">JST</abbr>-9"</code> and 767<code><abbr>TZ</abbr>="<abbr title="Hawaii Standard Time">HST</abbr>10"</code> 768for Japan and Hawaii, respectively. If the 769<code><abbr>tz</abbr></code> database is available, it is usually better to use 770settings like <code><abbr>TZ</abbr>="Asia/Tokyo"</code> and 771<code><abbr>TZ</abbr>="Pacific/Honolulu"</code> instead, as this should avoid 772confusion, handle old time stamps better, and insulate you better from 773any future changes to the rules. One should never set 774<abbr>POSIX</abbr> <code><abbr>TZ</abbr></code> to a value like 775<code>"GMT-9"</code>, though, since this would falsely claim that 776local time is nine hours ahead of <abbr>UTC</abbr> and the time zone 777is called "<abbr>GMT</abbr>".</li> 778</ul> 779<h2>See also</h2> 780<ul> 781<li><a href="tz-art.htm">Time and the Arts</a></li> 782</ul> 783<hr> 784<address> 785This web page is in the public domain, so clarified as of 7862009-05-17 by Arthur David Olson. 787<br> 788Please send corrections to this web page to the 789<a href="mailto:tz@iana.org">time zone mailing list</a>. 790</address> 791</body> 792</html> 793