time, calendar, datetime, etc

John Baxter jwbaxter at spamcop.net
Sat Aug 2 06:32:03 CEST 2003

In article <mailman.1059791473.32114.python-list at python.org>,
 "Tim Peters" <tim.one at comcast.net> wrote:

> [Andrew Dalke]
> > ...
> > The datetime module needs a 0 point (the creation of the universe
> > being rather long ago and the exact time not well known).  Given the
> > questions of "when is year 0?" in different calendar systems, it's easy
> > for me to understand why Jan. 1st, 1AD is a good starting point.
> > (Easier than Jan 1st, 1970 - I prefered the Mac's epoch of 1900.)

1904 for Mac, actually.  The story is fairly well documented, but...
   It was desired to include the entire team's set of birth dates
   That didn't get back to 1904, but it got reasonably close to 1900
   1900 was rejected because they didn't want to start out in a leap 
year exception
   They did want to start in a leap year...hence 1904

The 1904 choice has meant that considered as a signed 32-bit number, 
Macintosh time has always been negative.  "Always" in the sense of when 
there were Macintosh machines...the sign change was sometime in 1972, I 
think.  And since Pascal was the base higher level language, time was 
indeed negative.  (Macintosh time became signed 64 bits--with 32-bit 
clock hardware--around 1991:  plenty early to beat the End of Time early 
in 2040.)

  --John (steadfastly ignoring leap seconds)

More information about the Python-list mailing list