Logo: TUG TORONTO USERS GROUP for Midrange Systems
e -server magazine

March 1997: Volume 12, Number 5

A Giant Leap - The Year 2000

By Vaughn Dragland

ne of the more common tasks of a software developer is working with dates. For example: How do you calculate the number of days between June 1st and October 5th, or what date is exactly 90 dates from February 12th, or how many Christmas shopping days are left if today is October 23rd? Most I/S shops have a collection of routines for using Julian dates or Relative dates, etc. to do the math. Pretty straightforward - make sure to check for a leap year though! No problem. Just divide the year by four - if there's no remainder, then February has 29 days, otherwise 28. Right?

Unfortunately, it's not that simple...


In the year 46 BC the Roman Republican Calendar had become three months behind the seasons, so the Alexandrian astronomer (read Systems Analyst) Sosigenes proposed to Julius Caesar that the year length be changed to 365 days. This was accomplished by having three years of 365 days and a fourth or "leap" year of 366 days. The resulting Julian Calendar worked fine for a while, but by the year 1582, the error of 1 days in 200 years had accumulated to 10 days! This was because Sosigenes, (who may have been trying to save disk space?) had taken the tropical year (equinox to equinox) to be exactly 365.250000 days instead of the true value of 365.242199 days, an error of about 11 minutes. And so, Pope Gregory proclaimed that October 5, 1582 would become October 15, in order that March 21, 1583 would fall on the true Spring Equinox. Thus was born the Gregorian Calendar. (You should have heard the end-user community bemoan the loss of those 10 days!) He further introduced a ruling that, to avoid such mistakes in future, every century year (i.e. 1800, 1900, etc.) would not be a leap year.

Under this scenario, our modern age programmers (in addition to all of the other head-aches with the year 2000) would have divided by four and ended up with the wrong leap year result for the year 2000! We lucked out this time though. Our old friend Pope Gregory's analysts realised that the calendar needed an even finer adjustment, to make it accurate to within minute per year. The final result was that each century year would not be a leap year - unless it was exactly divisible by 400.

Therefore, the years 1800 and 1900 were not leap years, and the years 2100 and 2200 will not be leap years, but the year 2000 is after all a leap year! The simple rule of dividing by four will suffice - but only for the range of 1601 to 2399. If your applications can live with this limitation, then "you're laughing".

A Bit of History...


The Gregorian Calendar had its roots in the old Egyptian Calendar. The Egyptians, with their emphasis on sun worship, were the first to utilize a purely solar calendar. Their year was 12 months of 30 days each, resulting in a year of 360 days, with an extra 5 or 6 holidays at the year end, which were not part of any month. Prior to that, most calendar systems were based on the movements of the moon which has a period of 29 days. Many elaborate devices were constructed to track these movements in an attempt to reconcile the lunar year with the solar year. The lunar year of twelve "lunations" adds up to 354 days, which is ahead of the solar year by 11 days. "Intercalation", the process of adding a month to the year or a day to the month, was the key to this otherwise insoluble problem. Stonehenge (built by very early Anglo-Saxon, or possibly Briton, Information Systems Professionals) still stands as a testament to the advanced state of culture indicated by their systematic attempt to harmonise the solar and lunar years.

Many calendars are still lunar: for example the Jewish, and Islamic calendars. One of the earliest solar-lunar calendars is the Chinese, which dates back to the 14th century BC, and is still in use today for ceremonial purposes. (This is the year of the ox, and the year 2000 will be the year of the dragon.) Credit for the oldest known calendar probably belongs to the Babylonians. The most highly evolved and sophisticated calendar of any early civilization is the Mayan.

The following is a table of various calendars with their correspondence to the year 2000:

Even more curious than the various calendar systems was some early attempts at keeping time. The Romans, for example divided the day into twelve hours of daylight and twelve hours of night. The night-time hours were only a guess at best, but the day-time hours could be tracked with sun-dials. The problem was that due to the varying amount of daylight throughout the year, in the summer the "hour" could be as long as 75 minutes, whereas in the winter it shrank to as short as 45 minutes. Wow! Imagine those consultants getting paid by the hour.

As we approach the year 2000, we pause to consider the role of clocks and calendars in our lives - how they regulate us, and shape our view of the world; from the wheeling of the cosmos overhead, to the whirring of the tiny microchips in our computers. The grand cycle of destruction and re-birth is reenacted in the dawn of the new year, the new decade, the new century, and the new millennium. I look forward to this symbolic passage with a sense of wonder at how much we've progressed, and yet how much we are still the same as those folks who first peered through the portals of Stonehenge.

T < G

How many days in a year?
It depends:

Eclipse (lunar node to lunar node) 346.6201 d
Tropical (equinox to equinox) 365.2422 d
Average Gregorian 365.2425 d
Average Julian 365.2500 d
Sidereal (fixed star to fixed star) 365.2564 d
Anomalistic (perihelion to perihelion)365.2596 d

Great Years in Computing

1350 - The first mechanical clocks are used
1642 - Blaise Pascal invents a calculator made of wheels and cogs
1765 - James Watts makes the steam engine more efficient
1829 - W.A Burt invents the typewriter
1911 - The Gilbreths use stopwatches to time factory workers
1930 - Vannevar Bush invents a primitive computer
1946 - The first digital computer is switched on
1969 - The US Defence Department creates ARPANET, a primitive internet
1974 - The first international fax is transmitted, at a speed of six minutes per page
1977 - Macintosh introduces the Apple II, the first (barely) practical home computer
1983 - Motorola begins manufacturing cellular phones
1985 - A single optical fibre carries the equivalent of 300,000 simultaneous telephone calls
1988 - IBM unveils the AS/400
1994 - The Internet takes off when Netscape introduces Navigator software for Web browsing
1995 - Toy Story becomes the first film created entirely on computer
1998 - Smart cards available across Canada and the US
2000 - The World survives the "Y2K Bug"

T < G