I noticed on my MacBook (OS X 10.4.8) that the underlying UNIX based system (POSIX) was not going to update correctly for the Daylight Savings Time (DST) change in my time zone (America/Vancouver). To determine if your time zone has an issue, run this command in Terminal:
foo$ zdump -v /etc/localtime | grep 2007
If you see this in the output, then your DST will not start (or end) on the correct day:
/etc/localtime Sun Apr 1 09:59:59 2007 UTC = Sun Apr 1 01:59:59 2007 PST isdst=0
/etc/localtime Sun Apr 1 10:00:00 2007 UTC = Sun Apr 1 03:00:00 2007 PDT isdst=1
/etc/localtime Sun Oct 28 08:59:59 2007 UTC = Sun Oct 28 01:59:59 2007 PDT isdst=1
/etc/localtime Sun Oct 28 09:00:00 2007 UTC = Sun Oct 28 01:00:00 2007 PST isdst=0DST commonly begins in the northern hemisphere on the last Sunday in March or the first Sunday in April and ends on the last Sunday in October. However, due to the Energy Policy Act of 2005, beginning in 2007, the United States will begin observing DST from the second Sunday in March until the first Sunday in November.I looked at most of the US timezone files (Pacific, Central, etc.), and they all seem to be correct -- so many of you may not have to implement the solution explained in the remainder of this hint.]
The localtime file is actually just an alias to another file, as seen here (line break added for narrower display):
foo$ ls -lah /etc/localtime
lrwxr-xr-x 1 root wheel 37B Jan 8 06:19 /etc/localtime ->
/usr/share/zoneinfo/America/Vancouver
To fix the problem, you need to update the source file:
foo$ cd /path/to/tzdata2007a
foo$ sudo zic europe
foo$ sudo zic africa
foo$ sudo zic northamerica
foo$ sudo zic backwardsfoo$ zdump -v /etc/localtime | grep 2007
You should now see Mar 11 and Nov 4, instead of the original Apr 1 and Oct 28. Much better!
Mac OS X Hints
http://hints.macworld.com/article.php?story=20070128185822710