Warning: Outdated Content
The content of this page is not current. More current information on this subject can be found here. The information on this page remains only for archival purposes. The links on this page might no longer be active or might also contain obsolete information. The information and examples used are no longer current.
By the Java SE Platform Support Team, March 2008
As anyone who has traveled any significant distance or worked with colleagues abroad knows, the world is divided into many different timezones. Furthermore, as well as different countries being in one or more different timezones, some countries also apply Daylight Saving Time (DST). DST is a system of handling the changing amounts of daylight throughout the year, as the seasons change. In any given timezone, there are more hours of daylight per day in summer than there are in winter. So, the goal of DST is to maximize the daylight hours available during typical waking hours. By adjusting clocks forward on a specific date by a standard amount, usually one hour, people can take better advantage of daylight during their typical working day. For example, suppose you wake daily at 7:00 AM. In the spring, the sun rises earlier each day. So, instead of waking up at 6:00 AM to take advantage of the extra daylight, DST observers move their clocks ahead by one hour. The effect is that they can continue to wake at 7:00 AM according to the clock and also enjoy more daylight. In the fall, clocks are set back an hour as sunrise happens later each day.
Since DST policy is set by national and regional governments, changes in DST policy occur at different times in different countries. Some countries are currently extending their DST periods, thereby changing the dates on which DST will come into effect in a given year. Some countries do not implement any DST at all. So, regardless of where in the world you live, you should anticipate that changes in DST and timezone rules might occur at some point, and be ready to adjust clocks accordingly on the approved dates when these decisions are made. For Java technology-based applications that need to know the exact time in a given location, it is recommended to keep the Java Runtime Environment (JRE) software updated with these latest DST rules. See Timezone Data Versions in the JRE Software to see which Olson data version is included in your version of the JRE software.
In the absence of a single international body to keep track of the different timezones and the DST rules applied in each of them, the most widely used and respected body is the TZ Database, also known as the Olson Timezone Database. The Olson Timezone Database provides regular distributions of its data to reflect any recent changes in the timezone boundaries or DST rules that are applied in different countries or regions throughout the world. The computer industry uses this timezone data in programs and operating systems.
Sun Microsystems makes every effort to ship each JRE update release with the most up-to-date Olson timezone data possible. Including current timezone data in each update of the JRE software, however, does not address earlier JRE releases that have already been installed and that are otherwise functioning adequately. The Java SE platform's timezone data is not read from the local or host operating system (OS), so OS timezone patches will not update the JRE software's timezone data. Consequently, older JRE releases might have outdated DST rules that have been superseded by changes in timezone boundaries or DST rules that are implemented after that release. As a result, applications running on an older JRE implementation in a region that has changed its DST rules might report the incorrect time after the date that the new DST rules were implemented. This can have serious consequences for software applications.
If you have installed the latest update release of the Java SE platform 6, or J2SE platform 5.0, 1.4.2 or 1.3.1, then you already have a recent version of the Olson timezone data. However, more recent Olson data that affects your timezone might have been released after the latest JRE update release. Consequently, if you are concerned about application failures that may result from any DST changes, you should perform the following steps:
Ideally, installing the latest JRE update release is the preferred vehicle for delivering both timezone data updates and other product improvements, such as security fixes. However, if the timezone rules in your region change and you are unable to use the latest JRE update release, then you will need to update the platform's timezone data without altering other system configurations and dependencies. If for any reason you cannot upgrade your JRE software to the most recent update release, you can use a tool that can modify the timezone data within your existing JRE software without requiring you to update the whole platform. This tool, TZUpdater, updates older installed JRE implementations with the most recent timezone data.
The TZUpdater tool works on version 1.4 and later of the JRE software and on all the platforms that are supported by Sun. The tool is designed and built to provide full compatibility with any existing, previously installed JRE software on your system. For details of the latest release of the TZUpdater tool, see the TZUpdater README.
Even if you do upgrade to the latest update release of the JRE software, it is still possible that the latest timezone data for your region is not included. In this case, you should run the TZUpdater tool. See Timezone Data Versions in the JRE Software to see which version of the Olson timezone data is included in which JRE update release.
On Windows, Linux, and the Solaris 9 and Solaris 10 operating systems, the J2SE 1.3.1 platform completed the Sun End of Life (EOL) process when the Java SE 6 platform was released on December 11, 2006. A paid Java Vintage Support Offering is available for those customers who are interested in continued support for the 1.3.1 release. Please contact your Sun sales representative for details. On the Solaris 8 operating system, the J2SE 1.3.1 platform will continue in the EOL process until the the end of its five year Vintage Support Period in 2009. During this EOL transition period, products continue to be supported on Solaris 8 per existing customer support agreements.
However, customers with support contracts running the J2SE 1.3.1 platform can download a version of TZUpdater for JDK/JRE version 1.3.1 from the SunSolve Support Solutions site.
Customers using older Java platform versions that have completed the Sun EOL process, such as the 1.1 and 1.2 release families, should upgrade to a release family that is currently supported in order to obtain the latest DST rules. EOL products are not supported under standard support contracts. A paid Java Vintage Support Offering is available for those customers who are interested in continued support for a specific EOL release. Please contact your Sun sales representative for details.
The following links point to information provided by Sun Microsystems relating to timezones and DST changes and how they affect the Java platform and other Sun products:
The following external links provide general information about timezones and DST: