Java: Updating time zones for earlier Java installations and backward compatibility

In 2007, several countries and regions changed the way they observe Daylight Saving Time (DST). General information about these changes can be found here . How these changes affect Mac OS X specifically is described in this article.

To address these changes in Java, Apple has released two Java updates: Java for Mac OS X 10.4, Release 5 and Java for Mac OS X 10.3, Update 5, which are available in Software Update or from Apple Downloads. These updates add support for the latest Daylight Saving Time (DST) and time zone information as of January 8, 2007 using the Olson Timezone data version 2007a.

Important: The introduction of Olson Timezone (TZ) data, version 2007a or later may not allow backward compatibility for the Eastern, Hawaiian, and Mountain time zones for some Java applications under certain circumstances. See this article for information about using Sun's tzupdater tool to update your time zones, for best backward compatibility.

Compatibility issues (advanced)

For three time zones, Eastern Standard Time (EST), Hawaiian Standard Time (HST) and Mountain Standard Time (MST), backwards compatibility may not work in Java under certain circumstances. In Java 1.1 and earlier, some three-letter time zones followed Daylight Saving time rules instead of being fixed offsets of Greenwich Mean Time (GMT). If a Java application used these three-letter time zone designations, they may be assuming the previous behavior. The third-party utility "tzupdater", available from Sun Microsystems at http://java.sun.com/developer/technicalArticles/Intl/tzupdatertool.html, can be used to update your Java installation to preserve this backwards-compatible behavior.

To update your Java with the backwards compatibility option, first download tzupdater. Then in Terminal go to the directory where you installed tzupdater and execute the following command on a single line:

sudo /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/java -Djava.vendor="Sun Microsystems Inc." -jar tzupdater.jar  -f -bc -u
Verify the changes were installed by using this command:

/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/java -Djava.vendor="Sun Microsystems Inc." -jar tzupdater.jar -bc -t
If no issues are reported, you have successfully updated Java. Please see the documentation that comes with Sun's tzupdater for additional information.

See Sun Alert 102836 for more details on the Olson Timezone data backwards compatibility issue.

Important: Mention of third-party websites and products is for informational purposes only and constitutes neither an endorsement nor a recommendation. Apple assumes no responsibility with regard to the selection, performance or use of information or products found at third-party websites. Apple provides this only as a convenience to our users. Apple has not tested the information found on these sites and makes no representations regarding its accuracy or reliability. There are risks inherent in the use of any information or products found on the Internet, and Apple assumes no responsibility in this regard. Please understand that a third-party site is independent from Apple and that Apple has no control over the content on that website. Please contact the vendor for additional information.

Published Date: Feb 20, 2012