XXCOPY

DATMAN TECHNICAL BULLETIN #025



From:    Kan Yabumoto           tech@datman.com
To:      DATMAN user
Subject: Date representation. Y2K Problem?  Not with DATMAN.
Date:    1998-11-05
====================================================================

[ Note:  You should read our new Y2K-related article  TB #034  ]

The world is talking about the Year 2000 problem.  The hysteria seems
to be getting worse.  Being a programmer who never understands why
such problems really exist, it continues to be puzzling...

Many ignorant "pundits" equate *ALL* programs which handle the two-digit
representation of the year value to the Y2K bug automatically.
How silly!  For "average" programmers, it is a common sense to add
an extra line of IF statement to decide whether it's 19xx or 20xx.
To say the least, at Pixelab, we always treated DOS file dates with
the two-digit year value less than 80 to be 20xx since MS-DOS's base
date is 1980-01-01.

We get our share of inquiries from our customers who demand our
certification that our software is Y2K compliant.  We have to respond
to this silly question.

Let us declare once for all that all DATMAN products that have
been distributed are Year 2000 compliant.

More recently, we started to gradually unify our software products'
date representation format to the so-called ISO 8601 standard.

The ISO 8601 standard which unifies the world with a simple and
unmistakable date representation is gradually been recognized
by the programming community throughout the world.

The standard is really nothing to do with the so-called Y2K bugs
which are presumably based upon the 2-digit representation of the
year.  Rather, it advocates a clean format which eliminates the
ambiguity of date shortcut across the Atlantic.  For example, the
terrible collision of the American convention of Mon/Day/Year
order and the European Day/Mon/Year convention is a real nuisance
and should not exist in the computer world.  It is most fortunate
for the whole human society that the more logical date ordering
scheme which is neither American nor European (but has always been
used in most Asian countries) is prevailing.  That is, the ISO 8601
standard uses the Year-Mon-Day ordering which is automatically
compatible with a simple text sort operation.

One notable fact of this standard is that it was not invented as
a hastily put-together response to the Y2K gurus who are benefiting
from the millennium by vastly exaggerating the problem. 

For many years, ISO 8601 has been used for scientific applications,
especially in international sciences such as astronomy.

According to ISO 8601, January 2nd of Year 2003 is written as

      2003-01-02

The two-digit convention, 01-02-03 or 02-01-03 will be totally
confusing.  It is about time for us all to stop saying 98 and
start saying 1998.  You may have noticed that we at Pixelab have
been consistently using this notation for quite some time.

Also, ISO 8601 specifies the use of the so-called "military time"
where the am/pm notation is replaced with a 24-hour representation.
Again, it made no sense where the day stared at hour 12:00 and
reduced to 1:00 one hour later.  Comparison and sorting of time
was a hassle using the 12-hour notation.  We hope the major
airlines will start using this notation one day.  In Japan,
virtually all train schedules are written in the 24-hour notation
where their train systems operate with remarkable accuracy with
the deviations measured by seconds instead of minutes.

When both the date and time are specified, ISO 8601 separates the
date and time by a blank character (or T when the string cannot
contain a blank character in the string)

      2003-01-02 14:30:00  (or 2003-01-02T14:30:00)

We hope everybody will agree with the ISO 8601 standard and the
current confusing conventions will be eradicated for good.

After all, to place the most significant element first is often
the best order for almost anything.  To go one step further, the
United States should reverse its convention in representing the
street address by ZipCode, State, City, Street.  Also, people's name
should be first, the family name followed by the given name (like
Clinton Jefferson William, a.k.a. "Bill Clinton").   At least,
most telephone companies have been inconsistently doing this for
years (Alas, it would be Clinton, William Jefferson).  It is
about time that everybody embrace all of this.   But, it is another
matter.

So, if anything, one positive side effect of the Y2K mess is that
ISO 8601 is gaining its deserved recognition.

[ More Technical Bulletins ] [ DATMAN Table of Contents ]