Indonesian Political, Business & Finance News

Computer in 2000

Computer in 2000

The article published in The Jakarta Post on May 16, 1995
(page 8) under the title The Achilles heel of computers puzzled
me. I would be very grateful if a computer expert, like Mr Zatni
Arbi, could comment on it.

The article gloomily predicts that the world's big computer
systems would get stuck on Dec. 31, 1999, at midnight because
they can't read four digits of a year.

This seems to infer that language like COBOL are much
imperfect. Why is it that other languages such as C and the
machine language, and possibly others, are able to solve the
problem? It is surely possible to modify COBOL to get it to read
the first 2 digits of a date. Is it a herculean task?

Meanwhile, I experimented on my own computers and I made some
strange discoveries. As everybody knows, when you format a
spreadsheet range to date, any number typed in a cell of that
range automatically becomes a date. Most spreadsheets let you
choose a date format such as dd-mm-yy, dd-mm-yyyy, mm-dd-yy, etc.
When I choose a four digit format in, say, Lotus 1-2-3, I can
read, if the column width is sufficient, 21-06-1995 or 21-May-
1995.

All date formats are deemed to start on January 1, 1900, which
has the numerical value of 1 and increase by 1 every day: 30 is
30-Jan-1900, etc. I typed what I thought was the value for
December 31, 1999 and read 01-Jan-2000. The same happened to
Quattro but there, 1 becomes 31-Dec-1899! That discrepancy led me
to calculate the correct value for December 31, 1999.

A century has, by definition, 100 years of 365 days each, plus
the 24 extra February days of the leap years (1904,
1908....1996). Thus the total is 36524 which, in the cases of
Lotus and Quattro, becomes 30-Dec-1999. Why? When you enter the
number 60, you must get 01-Mar-1900 but, in Lotus, it becomes 29-
Feb-1900, which did not exist: centuries are leap years only when
divisible by 400, which was not the case in 1900, but will be the
case in the year 2000. Correctly, Quattro does not have a
February 29, 1900, but it got it right by cheating, i.e. starting
the year 1900 with the number 2!

As for Excel, it only shows the last 2 digits of the year but
60 shows 29-Feb-00. 36524 shows 30-Dec-99. Also wrong. Those are
IBM compatible programs.

Other systems show similar differences. In one of my oldest
Amiga spreadsheets, entering 36524 gives me 31-Dec-99 (only 2
digits there) but, when I add 1, the dates becomes, after
increasing the cell width, 01-Jan-100! Maybe the program was not
written in machine language. A recent Amiga spreadsheet gives
36524 as 31-Dec-99 but is cheats twice: it shows 29-Feb-00 but,
to make the century end well, the number 0 is 01-Jan-00. Like
Excel, it shows only 2 digits and I can't tell what happens
later.

Mac spreadsheets are as wrong as Lotus. Next century,
everything should be back to normal, unless someone decides that
February 2000 has only 28 days.

ALEX WOLVESPERGES

Medan, North Sumatra

View JSON | Print