Why Do Older Macs Reset to 1904?
The resetting of the Mac's system date to 1/1/1904 has been explained before, even on this site - see for example 1/1/2K Just Another Day for Macs, which explains that the number of bits in the original Mac dedicated to counting dates limits the number of individual days that can be counted - and you have to start counting somewhere.
Also, the reason 1904 was selected is explained clearly in an article by Geoff Duncan.
Duncan writes, "And as for the year 2040 [when the clock on pre-PowerPC Macs runs out. ed], there's an interesting explanation behind Apple's odd expiration date. The original Mac development team chose midnight, January 1, 1904, as the start of the Mac calendar - in part because it's mathematically convenient to have a calendar system start on a leap year [boldface mine], which 1900 was not. And since the calendar was built to cover approximately 136 years, your Mac OS won't expire until the start of the year 2040."
Why is it "mathematically convenient"? I suspect it is because the formula used to convert the number of days since "time zero" in 1904 does so by counting the number of leap years between the current date and the "time zero" date. This is simply a matter of taking the number of integer years divided by 4, unless you extend dates to before 1900 - which would require an if-then branch to add a day back in on that date since 1900 was not a leap year.
In the early days of computing (unlike today) every byte counted because of limited storage space. For the same reasons that led Microsoft and many others to use a two-digit year, prompting the whole Y2K issue, Macintosh programmers decided to start on a date that eliminated a tiny bit of code.
Well, that explains everything except for one thing. Why wasn't 1900 a leap year? 2000 was a leap year, and if there's a leap year every 4 years, shouldn't 1900 have been a leap year.
Well, that's a different story.
According to timeanddate.com, the leap year rules aren't as simple as most people think. Because the earth's year is not exactly 365.2500 days long, the old Julian calendar rule of "one leap day every four years" isn't sufficient to keep the earth's position in its orbit approximately constant for the same date as the years go by. Without leap years, the calendar will gradually shift until it's snowing in July in Los Angeles.
An error like this actually prompted a shift of several days in mid-month both in 1582 and 1782. One day it was September 2, and the next September 14. You can imagine the confusion that caused - much greater than a date reset on a Macintosh.
Anyway, next time you're working on a dead Mac and someone asks "Why 1904?" you can respond with a relatively simple answer: "Because there aren't exactly 365 days in a year."
is a longtime Mac user. He was using digital sensors on Apple II computers in the 1980's and has networked computers in his classroom since before the internet existed. In 2006 he was selected at the California Computer Using Educator's teacher of the year. His students have used NASA space probes and regularly participate in piloting new materials for NASA. He is the author of two books and numerous articles and scientific papers. He currently teaches astronomy and physics in California, where he lives with his twin sons, Jony and Ben.< And there's still a Mac G3 in his classroom which finds occasional use.
- Mac of the Day: PowerBook 190cs, (1995.08.28. The last 680x0-based PowerBook could take a PowerPC upgrade.)
- Support Low End Mac
Cult of Mac
Shrine of Apple
The Mac Observer
Accelerate Your Mac
The Vintage Mac Museum
Mac Driver Museum
System 6 Heaven
System 7 Today
the pickle's Low-End Mac FAQ