|
How many times have you written the date as DD/MM/YY and why do we
write it like this?
It's because it saves time and space.
It's also convenient. And not in the too distant past, computer memory was
at a premium and ways of reducing program size were incorporated,
including this technique of "year clipping".
So why is it still a
problem many years on? A lot of programmers throughout the intervening
years have used the working, older code to create new programs,
inadvertently incorporating this 2 digit year problem.
When date
information is entered into a non-Year 2000 compliant system, the system
will behave as expected until it reaches a year code of 00 and after
31/12/1999, the computer system may behave erratically.
Credit card
companies have already encountered problems, credit cards with an expiry
date in the year 2000 have been rejected by a significant number of store
cash tills and PDQ machines. The credit card companies have had to reissue
cards to expire in the year 1999 as an interim fix!
Even food
stuffs have been rejected by automated warehousing systems as having past
their sell by date.
An Example.*
My bank knows my birth
date is 1965, which makes me 32 years old. For non-Year 2000 compliant
systems, my age in 1997 is calculated as being:
97 - 65 =
32
When the year 2000 arrives, the calculation suddenly
becomes:
00 - 65 = -65 which of course is a negative
number.
What could the bank do with an account that is held by a
minus 65 year old? Close it? Delete it? Keep it active? Or solve the issue
before it happens?
The Worldwide problem is huge and is expected to
cost $600 billion. In a recent article in PC Dealer
(19/11/1997)
"The UK Government has accepted that the cost of its
own year 2000 problems will have to be paid from existing funds. Estimates
for the costs range from £9.4 million for the Department of Agriculture to
£27.7 million for the Department for Education and Employment "
*It is expected that large corporations and banks will have their
critical systems compliant before the Year
2000 |