Time zone updates

Time zones are a concept driven by the political situation in each country around the world. As such, they change frequently, and often at short notice. In order to manage this, Joda-Time uses the internationally recognised tz database, which is also used in most operating systems and the JDK itself.

Using JDK time zone data is a problem however, as the zones are only updated when the JDK is updated. This can cause issues if you are locked into an older version of the JDK.

Joda-Time also compiles the time zone data into our jar file. However, the key difference is that you can update the raw data and recompile the jar at any time.

Updating the time zone data

Firstly, download the latest version of the data files from tz database. At the time of writing, you need to pick the 'FTP distribution' or 'HTTP mirror' links.

Secondly, you need a source code download of Joda-Time, available via sourceforge.

Thirdly, you must take the time zone data files from step one, and replace those in the Joda-Time download. They are located at {root}/src/java/org/joda/time/tz/src. Note that only some of the files need to be copied across.

Finally, recompile the Joda-Time jar file using ant. Simply type ant jar in the root directory. You may want to rename the produced jar file to remind you that it has been updated.