The Y2K7 problem

Right, that "Y2K7" is not a typo. It "refers to the Year 2007 problem, caused by a US-mandated change to Daylight Saving Time" ( wikipedia ). From this year the US (and Canada) changed the dates on when daylight saving time is active. DST now starts three weeks earlier, and ends one week later. This causes quite a lot of problems with software that hard coded those rules. On Linux (and other Unix-like operating systems) this can be remedied by updating the zoneinfo information - check your Operating System's documentation on how to do that.

PHP before PHP 5.1.0 relies on the Operating System to provide time zone information, while PHP versions 5.1.0 and higher come with a bundled time zone database. The database that ships with PHP 5.1.0 already covers the changes in the US and Canada, however, the US and Canada are not the only places changing rules. Many places on earth change those rules all the time which means PHP's database needs to be updated as well.

Every PHP version comes with the latest release of the time zone database at the moment PHP is released. However, it is also possible to just update this data by installing the PECL extension timezonedb . This extension is released whenever a new version of the Olson database becomes available. The current version is 2007c (2007.3).

Comments

Hey Derick, That does seem to be a problem, but I wonder how many sites/systems will be affected.

Its a lesson us brazilians have already been through, because over here we have no specific date for begining or end of the daylight savings time. And this year we had a real mess because only half (or less) of the states actually "accepted" the change, so we had an internal timezone going. Real mess as you can see.

Well great post, interesting stuff, will you be here for this year's PHP Conf?

Greetz!

Add Comment

Name:
Email:

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

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

Life Line