100 Years of Macintosh
Zero seconds on the Mac OS system clock is January 1, 1904. The Mac OS epoch hits 100 years ... now. That's assuming you live in the Pacific time zone, anyway: the Mac OS epoch is unique in that it is time zone-specific. Of course, none of this applies unless you are running Mac OS, and all you Mac users are using Mac OS X, right? (Geek note: the Mac OS epoch is unsigned, which is why it can count over 100 years from 0 seconds, and 32-bit Unix can't, though it can count backward to 1901.)
The Macintosh traditionally measured time for most purposes in seconds since Midnight, January 1st, 1904. The call to get this value is GetDateTime() which takes a pointer to a unsigned long and returns the number of seconds by assigning the value to the argument.
Unlike what the article says, GetDateTime() is still available under the Carbon framework in MacOS X. However, there are now other ways of dealing with date/time in the MacOS. Ironically the preferred method, CFDate is also available under MacOS 9. So, I don't really get the point of the write up saying that this works only in MacOS 9.
Frankly this is of little interest to anyone who is not a Macintosh programmer - and only mild interest to those of us who are Macintosh programmers.
It is interesting to note that the Apple Newton also measures time from this reference point. However, it measures minutes since 1904 instead of seconds in dealing with its default date handling routines. On the Newton they had no real reason for picking that reference date other than that the Mac already used it.
On the original Mac, they did have a good reason for picking it. Apparently 1904 is the first leap year in the 20th century and it simplified the algorithm for factoring in leap years by starting at that point. Since they were trying shoe horn a graphical OS onto a 128Kb machine with no HD (but they did have some ROMs), you can't really fault them for taking a few shortcuts.
Avoid Missing Ball for High Score