Because of the Commonwealth Games (like the Olympics, but only for Commonwealth countries) being held in Melbourne in March of this year, all of the states in Australia that have Daylight Savings (or Summer Time as we call it down under) have changed their rules for this year only -- the switch back to normal time has been moved back one week from normal.
I have submitted a bug report to Apple (#4410596), but thought I would pass on my own fix to anyone to use, as this change will affect any iCal appointments you might schedule in advance of that week. Also of course during that week your system clock will be an hour out!
The files that need to be updated are in the /usr/share/zoneinfo directory, and are in a common format that almost all unix boxes use these days.
The central source of this information is this website. From there, you can download the latest version of the data files (145KB download).
To update the Mac OS X zoneinfo files to the latest release (incidentally, this procedure will also work fine on a modern Linux box), you need to extract the contents of this file. The easiest way to do that is to double click it in the Finder. This will give you a directory called tzdata2005r which contains a bunch of files named for regions. The file we are interested in is named australasia. To update the zoneinfo files for australasia, we open up Terminal (in the Utilities folder inside the Applications folder). Type the following command in:
cd[press space bar]
Then drag and drop the tzdata2005r directory into Terminal, and the line should look something like this:
cd /Users/jtrott/Incoming/tzdata2005r/
Then press Return on the keyboard. The prompt should change to something like this:
dwarf17:~/Incoming/tzdata2005r jtrott$
Then run the following command to update the zoneinfo database (enter your login password at the Password prompt):
sudo zic australasia
Then it should return to the normal prompt with no error messages or output. To check that the update has worked, run the following command:
zdump -v /etc/localtime | grep 2006
If you are in NSW or Victoria you should get the following output:
/etc/localtime Sat Apr 1 15:59:59 2006 UTC = Sun Apr 2 02:59:59 2006 EST isdst=1
/etc/localtime Sat Apr 1 16:00:00 2006 UTC = Sun Apr 2 02:00:00 2006 EST isdst=0
/etc/localtime Sat Oct 28 15:59:59 2006 UTC = Sun Oct 29 01:59:59 2006 EST isdst=0
/etc/localtime Sat Oct 28 16:00:00 2006 UTC = Sun Oct 29 03:00:00 2006 EST isdst=1
Notice that the first two lines show a return from summer time in April, rather than March. Before you run this procedure, you should, of course, back up the following directories:
/usr/share/zoneinfo/Australia
/usr/share/zoneinfo/Pacific
This will give you a point to go back to, just in case Apple's official update (if they release one) doesn't work after this procedure.
Mac OS X Hints
http://hints.macworld.com/article.php?story=20060117170839977