« Answering the iPod's forbidden question | Main | True confessions from Microsoft »
January 26, 2006
Fixing the time zone for Mac OS X
As we said [below] there's a fix for the Windows XP/2000 time zone problem in the forum.
But what about Mac users? Apple hasn't yet addressed the issue, but we asked Christopher Hunt, from Class Action - an expert on time zone issues - what Mac owners could do.
Here's his solution:
BACKGROUND
Firstly Mac OS X, being based on FreeBSD, uses the zoneinfo database
approach found on many Unix derivatives. This database structure
permits a highly sophisticated expression of time zone data,
particularly with regards to daylight savings time (DST) information.
Not only can one specify DST boundary information, but one can
specify it for a specific year or range of years. The resultant
zoneinfo database contains DST characteristics for past history and
future known changes. For more information on zoneinfo please visit:
http://www.twinsun.com/tz/tz-link.htm
FTP SERVER
The above link also provides a link to an ftp server that hosts the
latest collection of time zone data. Here's the link: ftp://
elsie.nci.nih.gov/pub/ This database has been formed as a result of a
mailing list that effects time zone changes as they occur. It is not
authoritative, but it is as best as we've got to be authoritative. I
suspect that the original Mac OS X zoneinfo database results from
this location (Apple may now maintain their own version though).
STEPS TO UPGRADE MAC OS X FOR COMMONWEALTH GAMES
1. Login to Mac OS X as an administrator style of user. Open your
terminal window.
2. Type "curl ftp://elsie.nci.nih.gov/pub/tzdata2005r.tar.gz >
tzdata2005r.tar.gz" (just the stuff between the quotes). This will
create a file named tzdata2005r.tar.gz in your ~ (home) directory.
3. Create a directory for our zoneinfo files. Type "mkdir zoneinfo".
4. Move to that directory. Type "cd zoneinfo".
5. Type "gzip -dc ../tzdata2005r.tar.gz | tar -xf -". This will unzip
and expand the above archive file into a set of files in our zoneinfo
directory.
6. Now the fun command - this command will make the time zone changes
for Australasia as a whole. Type "sudo zic australasia". You'll need
to type in your current user's password.
7. To validate that the change has been effected, type "zdump -v -c
2007 australia/sydney|grep 2006". You'll notice that the first two
lines now state April which is correct given our Commonwealth Games.
As further proof that the Unix approach to time zone handling is
quite sophisticated type "zdump -v -c 2008 australia/sydney | grep
2007". You'll see that next year, we're back to March.
That's it!
UPDATE: WARNING from Christopher: A number of people have reported a problem
in iCal as a result of applying the following update. The problem
manifests itself as April appearing with the name "March". I have now
logged a bug report with Apple although it should be noted that I am
unable to reproduce the problem on my own machine.
Additionally, prior to performing the update, the directory at "/usr/
share/zoneinfo/Australia/" should be copied to another location so
that time zone data can be restored if necessary.
Posted by cw at January 26, 2006 09:32 PM
Comments
And this is meant to be easier than the Windows fix of downloading and running a patch? Seems to me both Apple and Microsoft have failed to make this easy for users.
Posted by: Daniel Bowen at January 27, 2006 07:47 AM
Who said that it was easier? :-) If we're making comparisons though, I do think that the Apple (Unix) approach is less error prone and more flexible.
Apple haven't released an update yet but I'm optimistic that they will shortly (note that we're not even into Feb yet and we won't require the update until mid-March). Apple have acknowledged the problem and it should be easy for them to update time zone information. Meanwhile, if you're looking for a work around or just more insight then what I've written will get you there.
I'm sure that if Apple provide an update then it will be as easy as any other system update to perform i.e. easy.
Posted by: Christopher Hunt at January 27, 2006 01:53 PM
The Microsoft fix also requires you to install the patch on the day that the timezone fix is required (ie: the "normal" end day), and to remove it on exactly the day that daylight savings time finishes. Failure to do so at the right time(s) will result in your time/calendar being out of whack.
Microsoft's fix is an artificial one. This one is not.
Posted by: Deejemon at January 30, 2006 03:29 PM
Actually, the MS patch can be installed when ever you like as long as it's before the date in question, and can be removed any time you like as long as it's after the date in question.
Due to calendaring issues it causes, it's better to install it as soon as possible otherwise all your scheduled entries for that week will be an hour off, then remove it before that time of year comes around again in 2007.
Posted by: Jim at January 31, 2006 12:39 PM
...and just 'cause comparisons have been made, once the Mac OS X time zone update is performed, that's it. No "unpatching". Additionally the time zone update can be performed at anytime.
Posted by: Christopher Hunt at February 2, 2006 11:23 AM
I followed these steps on Mac OS X 10.4.4, which seemed to work fine. I have just noticed, however, that iCal now refuses to give April it's proper name. Instead, I now have 2 occurrences of March! Any chance Christopher might be able to provide us with a reversal, and this time I might wait for Apple to fix it.
Posted by: Carl Williams at February 2, 2006 09:43 PM
I'm also using 10.4.4 and don't see any problem with iCal. Do you have time zone support enabled in iCal (under the advanced tab?)
I don't really see why iCal would yield two Aprils... please contact me via my website and let me know exactly what you're seeing.
Posted by: Christopher Hunt at February 3, 2006 10:12 PM
I have the same problems as Carl after using this update. I have more problems as well:
I also now get two March's in my iCal.
The second March is actually April and has the correct dates for April but shows up as "March 2006" in the heading (Although the day headings in the Calendar view correctly report April). April 2007 is OK.
I have other problems after using this fix.
If I put an event in at 6pm, it shows up in the calendar as 5pm.
If I put an event on the 28th March in the Calendar, and look at the info for the event, it says 29th March.
I turned off Time Zone support, but the problems persist.
Chris
Posted by: Chris Curnow at February 7, 2006 05:27 PM
Just to let you know that the new Mac OS X update (10.4.5) updates our time zones correctly for the Commonwealth Games. Additionally iCal behaves perfectly fine (which I noticed wasn't updated).
Further good news is that the software update also includes the correct DST characteristics for the US next year. As you may know, the US is moving into DST 1 week earlier and moving out 1 week later next year. This will in fact be the case for the foreseeable future.
Posted by: Christopher Hunt at February 23, 2006 10:44 AM

