Become a Patron!

My Amazon wishlist can be found here.

Life Line

Contributing Advent 21: Timezone database

Timezones have always been a pain, and Daylight Saving(s) time does not make it a lot easier. Then of course you have governments that decide to change the rules. Often that is done nicely in advance, but once in a while the rule changes are announced at the absolutely last moment, or, sometimes even after the new rules have come into effect. To track the craziness, have a look at Time Zone News, and this image to see how many different rules there are!

The changes to rules, and the changes to them are tracked by a group of volunteers that maintain the Olson TZ Database, named after the now retired David Arthur Olson. Every so often a new release is made through IANA's website. The last change happened last Tuesday, and hopefully this is the last release of this year.

The Olson TZ Database is used by a whole lot of software stacks, for example by almost every Unix system, but there are also implementations for languages. There is Yoda time for Java, and PHP's DateTime support also uses the Olson database to be able to calculate the correct local time.

Because the PHP release cycle can not keep up with the releases of the Olson database, you can update the rule set in PHP by installing newer versions of the timezonedb PECL extension, which closely follows releases of the Olson database.

As I am the maintainer of PHP's DateTime support, I am also responsible for keeping the database, and it's accompanying PECL extension up-to-date. With the latest release available through the PECL extension, websites such as can then show you the latest, and correct, local time.


This article has a short URL available:


You linked "Yoda time"[sic!] to PHP's datetime URL. Did you mean ...?

Indeed, I've fixed it!

Add Comment


Will not be posted. Please leave empty instead of filling in garbage though!

Please follow the reStructured Text format. Do not use the comment form to report issues in software, use the relevant issue tracker. I will not answer them here.

All comments are moderated